NavigationBarTitle 自动显示模式不起作用
NavigationBarTitle automatic display mode doesn't work
我不确定如何解决这个问题。我已经用 ZStacks 实现了一个 ScrollView 和一个 NavigationView。但是,自动显示模式不起作用,ScrollView 位于它后面,Title 重叠。
https://i.stack.imgur.com/KPkGh.png
https://i.stack.imgur.com/H8NwS.png
这是我当前的代码:
struct Overview: View {
var body: some View {
ZStack{
NavigationView {
ZStack {
Color.init("Background")
.navigationBarHidden(false)
.navigationBarTitle("Overview", displayMode: .automatic)
.edgesIgnoringSafeArea(.top)
ScrollView(showsIndicators: false) {
VStack(spacing: 10) {
ForEach(0..<10) {
Text("Item \([=10=])")
.foregroundColor(.white)
.font(.largeTitle)
.frame(width: 340, height: 200)
.background(ColorManager.BoxColor)
.cornerRadius(10)
}
}
.frame(maxWidth: .infinity)
}
}
}
}
}
}
var body: some View {
NavigationView {
ScrollView(showsIndicators: false) {
VStack(spacing: 10) {
ForEach(0..<10) {
Text("Item \([=10=])")
.foregroundColor(.blue)
.font(.largeTitle)
.frame(width: 340, height: 200)
.background(Color(.gray))
.cornerRadius(10)
}
}
.frame(maxWidth: .infinity)
}
.navigationBarHidden(false)
.navigationBarTitle("Overview", displayMode: .automatic)
}
}
您在 ZStack 中有导航项。 ZStack 用于在彼此之上显示重叠视图。
我相信您真正想要实现的是将标题堆叠在滚动视图上方。这将通过 VStack 实现。然而,那仍然是错误的。
因为它是导航设置,所以它与 NavigationView 内联。这样就可以显示在NavigationBar中了。它不需要与任何堆栈分开。
我不确定如何解决这个问题。我已经用 ZStacks 实现了一个 ScrollView 和一个 NavigationView。但是,自动显示模式不起作用,ScrollView 位于它后面,Title 重叠。
https://i.stack.imgur.com/KPkGh.png https://i.stack.imgur.com/H8NwS.png
这是我当前的代码:
struct Overview: View {
var body: some View {
ZStack{
NavigationView {
ZStack {
Color.init("Background")
.navigationBarHidden(false)
.navigationBarTitle("Overview", displayMode: .automatic)
.edgesIgnoringSafeArea(.top)
ScrollView(showsIndicators: false) {
VStack(spacing: 10) {
ForEach(0..<10) {
Text("Item \([=10=])")
.foregroundColor(.white)
.font(.largeTitle)
.frame(width: 340, height: 200)
.background(ColorManager.BoxColor)
.cornerRadius(10)
}
}
.frame(maxWidth: .infinity)
}
}
}
}
}
}
var body: some View {
NavigationView {
ScrollView(showsIndicators: false) {
VStack(spacing: 10) {
ForEach(0..<10) {
Text("Item \([=10=])")
.foregroundColor(.blue)
.font(.largeTitle)
.frame(width: 340, height: 200)
.background(Color(.gray))
.cornerRadius(10)
}
}
.frame(maxWidth: .infinity)
}
.navigationBarHidden(false)
.navigationBarTitle("Overview", displayMode: .automatic)
}
}
您在 ZStack 中有导航项。 ZStack 用于在彼此之上显示重叠视图。
我相信您真正想要实现的是将标题堆叠在滚动视图上方。这将通过 VStack 实现。然而,那仍然是错误的。
因为它是导航设置,所以它与 NavigationView 内联。这样就可以显示在NavigationBar中了。它不需要与任何堆栈分开。