我有一个HomeView
NavigationView {
ZStack {
VStack {
NavigationLink(destination: ProfileView()) {
if session.userInSession?.activated != 1 {
completionText(message: "Complete Your Profile")
} else {
completionText(message: "Edit Your Profile")
}
}
}
}
}
我的ProfileView
没有包装在导航视图中,也没有标题栏:
VStack {
ScrollView(showsIndicators: false) {
...
}
}
但是我的ProfileView
也可以从我的SettingView
中访问
NavigationView {
VStack(alignment: .leading) {
List {
NavigationLink(destination: ProfileView()) {
}
}
}
}
当我从设置屏幕访问ProfileView
时,它显示正常。但是,当我从HomeView
访问它时,它会在顶部创建空白:
当我完成“设置”时就可以了:
如何删除上面的空白?
答案 0 :(得分:1)
您的HomeView
/ s NavigationView
似乎是.navigationBarTitleDisplayMode(.large)
或自动的,默认情况下是.large
,但是您的SettingView
却有{{1} }(考虑到.navigationBarTitleDisplayMode(.inline)
下的分隔线),因此您会看到不同的标题栏高度。
当然是假定由于没有详细的代码,但可能的解决方案是为< Setting
添加显式模式,例如:
ProfileView
答案 1 :(得分:0)
该空间可能是NavigationView的空标题。
您可以尝试隐藏导航栏标题:
NavigationView {
ZStack {
...
}
.navigationBarTitle("")
.navigationBarHidden(true)
}
作为测试,请尝试设置.navigationBarTitle("Some title")
,看看您是否仍然看到此空白区域,或者是否已被某些标题文本替换。