![6800ff4da5d90bd85fe4e1907aaad930.png](https://i-blog.csdnimg.cn/blog_migrate/032265842e1d39d3aef2588883bf893f.jpeg)
Sheet是一个我比较喜欢的交互形式,它可以很好的控制用户的操作行为,让用户的交互逻辑单线条化。在iOS14上,SwiftUI增加了fullCover,支持了全屏的Sheet方式,让开发者又了更多的选择。
基本用法
@State var showView1 = false
@State var showView2 = false
List{
Button("View1"){
showView1.toggle()
}
.sheet(isPresented:$showView1){
Text("View1")
}
Button("View2"){
showView2.toggle()
}
.sheet(isPresented:$showView2){
Text("View2")
}
}
上述代码,我们可以通过点击不同的按钮而弹出相对应的View。
不过它有两个缺点:
- 如果你的代码有多处需要使用不同view作为sheet的情况,你需要声明多个对应的开关值
- 如果你的View结构比较复杂,在比较内部的地方,上