美文网首页
SwiftUI—通过Button打开一个模态窗口

SwiftUI—通过Button打开一个模态窗口

作者: anny_4243 | 来源:发表于2020-07-10 16:58 被阅读0次

原文链接: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)
        }
    }
}

注:模态窗口与非模态窗口的区别

相关文章

网友评论

      本文标题:SwiftUI—通过Button打开一个模态窗口

      本文链接:https://www.haomeiwen.com/subject/skpmcktx.html