ios 在Mac Catalyst上消除“.sheet”的手势

nle07wnf  于 2023-03-20  发布在  iOS
关注(0)|答案(1)|浏览(186)

在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)
        }
    }
}

有更好的解决办法吗?

anauzrmj

anauzrmj1#

用户在Mac上解除工作表的唯一方法是使用Esc按钮。我认为它在Catalyst上也应该起作用。

相关问题