我正在嘗試集成NavigationStack到我的SwiftUI應用程式中,我有三個視圖CealUIApp,OnBoardingView并且UserTypeView. 我只想在用戶按下按鈕時導航OnBoardingView到UserTypeViewOnBoardingView
下面是我的代碼CealUIApp
@main
struct CealUIApp: App {
@State private var path = [String]()
var body: some Scene {
WindowGroup {
NavigationStack(path: $path){
OnBoardingView(path: $path)
}.navigationDestination(for: String.self) { string in
UserTypeView()
}
}
}
}
現在在OnBoardingView,按鈕代碼如下
Button {
path.append("UserTypeView")
} label: {
Text("Hello")
}
只要我按下按鈕,我UserTypeView就沒有導航到,而是看到一個白色的螢屏,中間有一個警告圖示

uj5u.com熱心網友回復:
I just want to navigate from OnBoardingView to UserTypeView when user presses a button in OnBoardingView,然后試試這個方法,把 where.navigationDestination(...)移到OnBoardingView,如本示例代碼所示:
@main
struct CealUIApp: App {
@State var path = [String]()
var body: some Scene {
WindowGroup {
NavigationStack(path: $path) {
OnBoardingView(path: $path)
}
}
}
}
struct OnBoardingView: View {
@Binding var path: [String]
var body: some View {
Button {
path.append("UserTypeView")
} label: {
Text("go to UserTypeView")
}
.navigationDestination(for: String.self) { string in
UserTypeView()
}
}
}
struct UserTypeView: View {
var body: some View {
Text("UserTypeView")
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/529555.html
標籤:IOS迅速迅捷
下一篇:如何使SwiftUI按鈕標簽大寫
