我正在尝试在我的SwiftUI应用程序中集成NavigationStack。
我有四个视图:
当用户在
并且,当用户在
以下是我的CealUIApp代码:
在
在
当在
此外,Xcode日志显示
我有四个视图:
CealUIApp
,OnBoardingView
,UserTypeView
和RegisterView
。当用户在
OnBoardingView
中按下按钮时,我想从OnBoardingView
导航到UserTypeView
。并且,当用户在
UserTypeView
中按下按钮时,从UserTypeView
导航到RegisterView
。以下是我的CealUIApp代码:
@main
struct CealUIApp: App {
@State private var path = [String]()
var body: some Scene {
WindowGroup {
NavigationStack(path: $path){
OnBoardingView(path: $path)
}
}
}
}
在
OnBoardingView
中Button {
path.append("UserTypeView")
}
label: {
Text("Hello")
}
.navigationDestination(for: String.self) { string in
UserTypeView(path: $path)
}
在
UserTypeView
中Button {
path.append("RegisterView")
}
label: {
Text("Hello")
}
.navigationDestination(for: String.self) { string in
RegisterView()
}
当在
UserTypeView
上的按钮被按下时,它会导航到UserTypeView
而不是RegisterView
。此外,Xcode日志显示
仅适用于具有同质路径的导航堆栈的根级导航目标是有效的。
enum
传递几乎任何东西,Binding
是一种限制,但它是navigationDestination
的限制,而不是这种方法的限制。 - lorem ipsum