Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SwiftUI NavigationView删除空白_Swift_Swiftui_Swiftui Navigationlink_Swiftui Navigationview - Fatal编程技术网

SwiftUI NavigationView删除空白

SwiftUI NavigationView删除空白,swift,swiftui,swiftui-navigationlink,swiftui-navigationview,Swift,Swiftui,Swiftui Navigationlink,Swiftui Navigationview,我有一个HomeView NavigationView { ZStack { VStack { NavigationLink(destination: ProfileView()) { if session.userInSession?.activated != 1 { completionText(message: "Complete Your Profile

我有一个
HomeView

NavigationView {
    ZStack {
        VStack {
             NavigationLink(destination: ProfileView()) {
                 if session.userInSession?.activated != 1 {
                     completionText(message: "Complete Your Profile")
                 } else {
                     completionText(message: "Edit Your Profile")
                 }
             }
        }
    }
}
NavigationView {
    VStack(alignment: .leading) {
        List {
            NavigationLink(destination: ProfileView()) {
            }
        }
    }
}
My
ProfileView
未包装在导航视图中,也没有条形图标题:

VStack {
    ScrollView(showsIndicators: false) {
        ...
    }
}
NavigationView {
    ZStack {
        ...
    }
    .navigationBarTitle("")
    .navigationBarHidden(true)
}
但是我的
档案视图
也可以从我的
设置视图

NavigationView {
    ZStack {
        VStack {
             NavigationLink(destination: ProfileView()) {
                 if session.userInSession?.activated != 1 {
                     completionText(message: "Complete Your Profile")
                 } else {
                     completionText(message: "Edit Your Profile")
                 }
             }
        }
    }
}
NavigationView {
    VStack(alignment: .leading) {
        List {
            NavigationLink(destination: ProfileView()) {
            }
        }
    }
}
当我从设置屏幕访问我的
ProfileView
时,它显示良好。但当我从我的
HomeView
访问它时,它会在顶部创建空白:

当我通过设置时,它很好:

如何删除上面的空白?

此空白可能是NavigationView的空标题

您可以尝试隐藏导航栏标题:

VStack {
    ScrollView(showsIndicators: false) {
        ...
    }
}
NavigationView {
    ZStack {
        ...
    }
    .navigationBarTitle("")
    .navigationBarHidden(true)
}

作为测试,请尝试设置
.navigationBarTitle(“某些标题”)
,看看您是否仍然看到此空白区域,或者是否已被某些标题文本替换。

看起来您的
HomeView
/s
导航视图
具有
.navigationBarTitleDisplayMode(.large)
或自动,默认情况下为
.large
,但是您的
设置视图
具有
.navigationBarTitleDisplayMode(.inline)
(考虑下面的分隔符
),因此您可以看到不同高度的标题栏

当然,这是一个假设,因为没有详细的代码,但可能的解决方案是为
ProfileView
添加显式模式,例如:

VStack {
   ScrollView(showsIndicators: false) {
   }
}.navigationBarTitleDisplayMode(.inline)     // << here !!
VStack{
滚动视图(显示指示器:false){
}
}.navigationBarTitleDisplayMode(.inline)//