导航视图以一个间隙开始,然后 returns 在滚动时变为正常;缺少标题
Navigation View starts with a gap then returns to normal upon scrolling; missing title
场景: 在导航视图中列出了一个数组。
问题:初始显示在顶部显示一个间隙,在滚动时 returns 到正常的导航栏宽度。
另外,没有显示导航标题。
这是初始视图(注意顶部的空隙):
这是在我向上滚动一点之后(注意 return 到常规导航栏宽度):
完整代码如下:
struct VaccinesDataView: View {
@State private var isHidden = false
@EnvironmentObject var settings: UserSettings
var body: some View {
VStack {
if SingletonData.shared.vaccineHeaders != nil {
NavigationView {
List(SingletonData.shared.vaccineHeaders!, id: \.self) { source in
NavigationLink(destination: VaccineDetailView()) {
VStack(alignment: .leading, spacing: 10.0) {
HStack {
Text(source.mechanic).font(.system(size: 16.0))
.foregroundColor(.red)
Spacer()
}
VStack {
HStack {
// Sponsors:
Text("Sponsors: ").foregroundColor(Color("DarkPen"))
Spacer()
}
}
}
}
}.font(.system(size: 14))
.foregroundColor(Color("DirtyBrown"))
.background(Color("Background"))
}
}
}
.navigationBarTitleDisplayMode(.inline)
.navigationBarTitle("Vaccines", displayMode: .inline)
}
func doSomething() {}
}
什么导致了最初的差距,补救措施是什么?
您需要在 NavigationView
视图中应用 .navigationBarTitle
修饰符。
NavigationView {
VStack {
}.navigationBarTitleDisplayMode(.inline)
.navigationBarTitle("Vaccines", displayMode: .inline)
}
场景: 在导航视图中列出了一个数组。
问题:初始显示在顶部显示一个间隙,在滚动时 returns 到正常的导航栏宽度。
另外,没有显示导航标题。
这是初始视图(注意顶部的空隙):
这是在我向上滚动一点之后(注意 return 到常规导航栏宽度):
完整代码如下:
struct VaccinesDataView: View {
@State private var isHidden = false
@EnvironmentObject var settings: UserSettings
var body: some View {
VStack {
if SingletonData.shared.vaccineHeaders != nil {
NavigationView {
List(SingletonData.shared.vaccineHeaders!, id: \.self) { source in
NavigationLink(destination: VaccineDetailView()) {
VStack(alignment: .leading, spacing: 10.0) {
HStack {
Text(source.mechanic).font(.system(size: 16.0))
.foregroundColor(.red)
Spacer()
}
VStack {
HStack {
// Sponsors:
Text("Sponsors: ").foregroundColor(Color("DarkPen"))
Spacer()
}
}
}
}
}.font(.system(size: 14))
.foregroundColor(Color("DirtyBrown"))
.background(Color("Background"))
}
}
}
.navigationBarTitleDisplayMode(.inline)
.navigationBarTitle("Vaccines", displayMode: .inline)
}
func doSomething() {}
}
什么导致了最初的差距,补救措施是什么?
您需要在 NavigationView
视图中应用 .navigationBarTitle
修饰符。
NavigationView {
VStack {
}.navigationBarTitleDisplayMode(.inline)
.navigationBarTitle("Vaccines", displayMode: .inline)
}