首页 > 解决方案 > 为什么快速跳转到另一个页面时会出现意外空间

问题描述

我想使用 NavigationLink 跳转到另一个页面,但屏幕顶部出现了一个意外的空间,如下图所示。这以前没有发生过。我不知道是因为我的首页还是我试图跳转到的页面。

起始页


import SwiftUI

struct HomePage: View {

    var body: some View {
        NavigationView{
            VStack {
                
                NavigationLink(destination: chartDiretor()) {
                       Text("clike")
                    
                }
                NavigationLink(destination: chartDiretor()) {
                       Text("clike")
                    
                }
            }
        }

    }
}

目标页面


import SwiftUI

struct SwiftUIView: View {
    var body: some View {
        NavigationView{
            List{
                Text("something")
            }
        }
    }
}

struct SwiftUIView_Previews: PreviewProvider {
    static var previews: some View {
        SwiftUIView()
    }
}




当喜欢导航链接时。用红色矩形线突出显示的空间

我尝试跳转到的页面是什么样的

标签: iosswiftxcodeswiftuinavigationview

解决方案


您所做的是,您将 2 NavigationViews 堆叠在一起。其中一个SwiftUIView又嵌入另一个NavigationViewHomePage。您当前的视图层次结构看起来像,

NavigationView // First NavigationView
|- SwiftUIView
   |- NavigationView // Second NavigationView
      |- Some Content    

当它实际上应该看起来像时,

NavigationView // First and ONLY NavigationView
|- SwiftUIView
   |- Some Content    

所以,要解决这个问题,你可以像下面这样删除NavigationViewSwiftUIView

struct SwiftUIView: View {
    var body: some View {
        List{
            Text("something")
        }
        .navigationBarTitle("Country") // Set the Navigation title here
    }
}

推荐阅读