为什么在swift中跳转到另一个页面时会有一个意想不到的空格



我想使用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()
}
}


时,像navigationLink。空格用红色矩形线突出显示

我想跳转到的页面是什么样子

你所做的是,你把两个NavigationView堆叠在一起。一个在SwiftUIView中再次嵌入到HomePage中的另一个NavigationView中。您当前的视图层次结构看起来像,

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

当它实际上看起来像

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

所以,为了解决这个问题,你可以像下面这样删除SwiftUIView中的NavigationView

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

相关内容

最新更新