快速导航链接问题

时间:2020-09-25 08:18:32

标签: swift swiftui swiftui-navigationlink

我在Swift和iOS 14中遇到NavigationLink的问题。这是一个已知问题,但是我看到的问题解决者还不够。我发现,在早期初始化带有NavigationLink的按钮时,它可以工作,并且在您进入页面时,您具有“返回”按钮。但是,当导航链接位于中间时,您无法在进入页面时返回,而必须关闭该应用程序才能再次进入主屏幕。

这是我正在使用的代码:

HStack {
    Button(action: {
        if let url = URL(string: "I blacked this out to make no advert here") {
            UIApplication.shared.open(url)
        }
    }){
        Text("Rate App").foregroundColor(.gray)
    }.modifier(navigationButtonViewStyle())
    
    Spacer()
    // this navigation link works fine
    NavigationLink(destination: HelpView()) {
        Text("FAQ").foregroundColor(.gray)
    }.modifier(navigationButtonViewStyle())
}.padding(.horizontal, 20)

VStack {
    Text("λSET")
    .font(.largeTitle)
    .fontWeight(.heavy)
    .bold()
    .padding(.top, 50)
    .onAppear(perform: prepareHaptics)
    .animation(.linear)
    
    Text("λudio System Engineer Tools")
    .fontWeight(.light)
    .animation(.linear(duration: 0.5))
    
    HStack {
        
        Spacer()
        
        // this navigation link is not showing the go back button when pressed and directed to the new screen
        NavigationLink(destination: AboutView()) {
            Text("About λSET")
            .fontWeight(.heavy)
            .bold()
        }
        
        
        Spacer()
        
    }.modifier(calcTitleViewStyle())
    .padding(.top, 20)
    .padding(.bottom, 60)
}

我不确定问题出在哪里,但很好奇这可能是什么。我正在努力解决,但我想从根本上解决问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

我自己修复了此问题,方法是将.NavigationBar显式设置为true,以强制迅速加载它。在其他页面中不需要这样做,但是我现在要确保IOS14接受它,因为在那里做了一些更改。