ios - 在 Mac Catalyst 上关闭“.sheet”的手势
问题描述
.sheet
在 SwiftUI 上使用修饰符时,我得到的行为是无法在 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)
}
}
}
有更好的解决方案吗?
解决方案
推荐阅读
- c# - 防止 Size 属性在等于默认值时被序列化
- python - 在 for 循环中出现 Dict KeyError 但实际上没有错误
- python - 如何对图像分类模型进行显着性检验?
- python - 烧瓶和在应用程序上下文之外工作
- cxf - 使用 CXF 启用 xsd 验证
- javascript - 数据流处理程序和 CLI 合并 Node JS
- c++ - 基于 std::array 的多维数组
- python - Python从列表1中的列表2中删除交集
- google-cloud-bigtable - 我可以原子地增加 BigTable 中的列值吗?
- php - Composer,自动加载和自动加载后的类调用