我有一个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
访问它时,它在顶部创建了空白:
当我浏览设置时,很好:
如何删除上面的空白?
发布于 2020-07-09 16:32:58
看起来您的HomeView
/s NavigationView
有.navigationBarTitleDisplayMode(.large)
或automatic,这在默认情况下是.large
,但是SettingView
有.navigationBarTitleDisplayMode(.inline)
(考虑到< Setting
下面的分隔符),因此可以看到不同高度的标题栏。
当然,这是假设,因为没有详细的代码,但是可能的解决方案是为ProfileView
添加显式模式,例如:
VStack {
ScrollView(showsIndicators: false) {
}
}.navigationBarTitleDisplayMode(.inline) // << here !!
发布于 2020-07-09 16:16:27
这个空间可能是NavigationView的空标题。
您可以尝试隐藏导航栏标题:
NavigationView {
ZStack {
...
}
.navigationBarTitle("")
.navigationBarHidden(true)
}
作为一个测试,尝试设置.navigationBarTitle("Some title")
,看看您是否仍然看到这个空空间,或者它是否被某些标题文本所取代。
https://stackoverflow.com/questions/62819209
复制相似问题