美文网首页SwiftUI
SwiftUI button 与sheet的使用

SwiftUI button 与sheet的使用

作者: Attempt_30b7 | 来源:发表于2020-03-18 12:46 被阅读0次

SwiftUI 中想要不跳转从主View弹出一个View,以前在swift中,可以直接选择一按钮拖线到新的View

在SwiftUI中实现如下效果 QQ20200318-123135-HD.gif
struct sheetView: View {
    @State var open  = false
    var body: some View {
        VStack{
            Button(action: {
                self.open = true
            }) {
                Text("展开")
            }
        }.sheet(isPresented: $open) {
            OpenView()
        }
    }
}


struct OpenView: View {
    var body: some View {
        VStack{
           Text("弹出的View")
        }
    }
}

在你想弹出的View下方.sheet()后选择isPresented,然后绑定一个@state变量,当这个变量值变化时,刷新View,所以在button中点击后触发方法,改变了值,所以刷新视图弹出。你可以选择下拉关闭这个View,但是有时需要用户点击一个按钮后,自动关闭,就需要实现下面方法

struct OpenView: View {
    @Environment(\.presentationMode) var persentationMode
    var body: some View {
        VStack{
           Text("弹出的View")
            
            Button(action: {
                self.persentationMode.wrappedValue.dismiss()
            }) {
                Text("关闭")
            }
        }
    }
}
QQ20200318-123951-HD.gif

在ios13中弹出的View无法全屏。

相关文章

网友评论

    本文标题:SwiftUI button 与sheet的使用

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