Ste*_*rot 18 swiftui swiftui-navigationlink
在新版本的iOS和Xcode中
NavigationLink(isActive: , destination: , label: )
Run Code Online (Sandbox Code Playgroud)
已弃用。
那么我们如何控制NavigationLink的状态呢?
小智 48
旧的/已弃用的导航方式:
@State private var readyToNavigate : Bool = false
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: MyTargetView(), isActive: $readyToNavigate, label: {Text("Navigate Link")})
Button {
//Code here before changing the bool value
readyToNavigate = true
} label: {
Text("Navigate Button")
}
}
.navigationTitle("Navigation")
}
}
Run Code Online (Sandbox Code Playgroud)
新的导航方式 - 请注意,这是使用NavigationStack
而不是NavigationView
:
@State private var readyToNavigate : Bool = false
var body: some View {
NavigationStack {
VStack {
Button {
//Code here before changing the bool value
readyToNavigate = true
} label: {
Text("Navigate Button")
}
}
.navigationTitle("Navigation")
.navigationDestination(isPresented: $readyToNavigate) {
MyTargetView()
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18319 次 |
最近记录: |