在SwiftUI上使用.sheet
修改器时,我得到的行为是,* 在Mac(Catalyst)上使用向下滑动手势无法消除 * 显示的工作表,这是预期的,因为... Mac没有触摸屏。这导致必须添加许多#if targetEnvironment(macCatalyst) ... #endif
来添加关闭工作表的按钮:
struct ContentView: View {
@State private var showSheet = false
var body: some View {
VStack {
Button("Show dialog") {
showSheet = true
}
}.sheet(isPresented: $showSheet) {
VStack {
Text("Dialog").font(.title)
#if targetEnvironment(macCatalyst)
Button("Close", action: { showSheet = false })
#endif
Spacer()
}.padding(10)
}
}
}
有更好的解决办法吗?
1条答案
按热度按时间anauzrmj1#
用户在Mac上解除工作表的唯一方法是使用Esc按钮。我认为它在Catalyst上也应该起作用。