当点击按钮时,使用按钮控件的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) } } }