SwiftUI 页面跳转push/pop

在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事件

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容