在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事件
网友评论