美文网首页SwiftUI
SwiftUI 页面跳转push/pop

SwiftUI 页面跳转push/pop

作者: 佐佑卟份 | 来源:发表于2020-07-28 16:23 被阅读0次

在SwiftUI中如果需要进入一个新的页面,可以使用NavigationLink,举例如下

var body: some View {
     NavigationView {
        NavigationLink(destination: Detail()) {
            Text("first")
        }
    }
}

依据OC的理解,push需要一个UINavigationController,此处就是NavigationView,然后需要点击跳转的地方用navigationLink包起来

如果开发中把预览页面关了,可以在此处打开预览 Editor > Canvas

关于自定义Pop事件其实navigationLink是带了参数用于控制的,举例如下

@State var isShow = false
var body: some View {
    NavigationView {
        NavigationLink(destination: Detail(), isActive: self.$isShow) {
            Text("first")
        }
    }
 }

在第一个页面定义了一个参数isShow,在navigationLink的isActive作为入参,然后在第二个页面代码参考如下

    @Binding var showing :Bool
    
    var body: some View {
        Button("点击返回2") {
            self.showing = false
        }
    }

根据绑定的属性变化来控制first页面的isShow,来控制pop事件

相关文章

网友评论

    本文标题:SwiftUI 页面跳转push/pop

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