ios 当我使用navigationLink SwiftUI导航到视图时,如何禁用返回到上一个视图?[closed]

83qze16e  于 2022-11-26  发布在  iOS
关注(0)|答案(1)|浏览(154)

5小时前关门了。
Improve this question
我正在构建一个应用程序时,第一次运行该应用程序,出现一个演示视图,以解释该应用程序应该如何使用,然后出现主视图,它应该被禁用,返回到演示视图。导航是用swiftUI的navigationlink完成的,正如你所看到的,按下后可以返回。

这是我代码:

if (page.tag == 1) {
  NavigationLink(
     destination: MainView(mainVM: mainVM),
        label: {
          Text("got it")
               }
              )
            }
kyks70gy

kyks70gy1#

导航链接/视图对于分层导航是有意义的--这感觉像是模态的东西。你可以用链接来实现,但是像这样的东西感觉更好:

import SwiftUI

struct TutorialView: View {
    
    @Binding var shouldShowTutorial: Bool
    
    var body: some View {
        VStack {
            Text("Tutorial...")
            Button("Done") {
                shouldShowTutorial = false
            }
        }
    }
    
}

struct AppRootView: View {
    
    var body: some View {
        Text("App View")
    }
    
}

struct ContentView: View {
    
    @AppStorage("shouldShowTutorial") var shouldShowTutorial = true
    
    var body: some View {
        AppRootView()
            .fullScreenCover(isPresented: $shouldShowTutorial) {
                TutorialView(shouldShowTutorial: $shouldShowTutorial)
            }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

如果你设置使用导航链接,我也可以提供一个例子。

相关问题