SwiftUI 的 sheet view属于模态视图,将会在调用视图上层显示,如下图所示:
sheetView.png
使用示例如下:
// 创建一个View,作为sheet view
struct DetailView: View {
var body: some View {
Text("Detail")
}
}
// 在content view 中触发sheet view 显示
struct ContentView: View {
// 用来触发sheet view显示的标志
@State var showingDetail = false
var body: some View {
Button(action: {
// 设置触发变量为true
self.showingDetail.toggle()
}) {
Text("Show Detail")
}
// 设置sheet
.sheet(isPresented: $showingDetail) {
DetailView()
}
}
}
创建步骤如下:
- 首先定义sheet要展示的view
- 在触发view中定义触发变量
- 在触发点加上.sheet(isPeresented: Bool)
- 在触发点设置触发变量的值为true
参考文章