原文链接:https://github.com/fzhlee/SwiftUI-Guide#11Button-sheet
当点击按钮时,使用按钮控件的sheet方法,弹出Modal模态窗口。
示例代码:
struct ContentView : View {
@State var isPresented = false //决定模态窗口的显示和隐藏
var body: some View {
VStack{
Button("Show modal") { //设置按钮标题文字
self.isPresented = true //当按钮被点击时,设置布尔属性的值为真
}.sheet(isPresented: $isPresented, content: { //调用Button控件的sheet方法,并设置isPresented的值为当前的布尔属性。当属性的值为真时,显示sheet中的内容
MyDetailView(message: "Modal window") //将自定义视图作为按钮控件的sheet内容
})
}
}
}
struct MyDetailView: View { //定义一个遵守View协议的指定名称的结构体,作为一个新的自定义视图。结构体相对于类来说更加轻量,所以SwiftUI使用结构体来定义视觉控件
let message: String
var body: some View { //实现View协议中必须要实现的body属性,所有自定义视图中的元素都需要放在body中
VStack {
Text(message)
.font(.largeTitle)
}
}
}

网友评论