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()) {
}
}
}
}
MyProfileView
未包装在导航视图中,也没有条形图标题:
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)//