我在SwiftUI中无法为
// 编辑:
以下动画展示了一个理想的效果(使用UIKit制作)。
ScrollView
设置背景颜色。当我使用.background(Color.red)
时,背景被裁剪,因此它不会出现在导航栏下方,滚动似乎也出了问题。
我尝试了几种解决方案,但每一种都没有起作用。
我有一个简单的视图层次结构。NavigationView {
ScrollView([.vertical], showsIndicators: true) {
VStack {
ForEach(0...50, id: \.self) { _ in
Text("Text text")
}
}
}
.navigationBarTitle("Title", displayMode: .large)
}
.navigationViewStyle(StackNavigationViewStyle())
它按预期工作
现在,我想添加一个背景颜色,我尝试了以下解决方案
1
NavigationView {
ScrollView([.vertical], showsIndicators: true) {
VStack {
ForEach(0...50, id: \.self) { _ in
Text("Text text")
}
}
}
.background(Color.red)
.navigationBarTitle("Title", displayMode: .large)
}
.navigationViewStyle(StackNavigationViewStyle())
结果
2
NavigationView {
ZStack {
Color.red
ScrollView([.vertical], showsIndicators: true) {
VStack {
ForEach(0...50, id: \.self) { _ in
Text("Text text")
}
}
}
.navigationBarTitle("Title", displayMode: .large)
}
}
.navigationViewStyle(StackNavigationViewStyle())
结果
3
NavigationView {
ZStack {
Color.red.edgesIgnoringSafeArea([.all])
ScrollView([.vertical], showsIndicators: true) {
VStack {
ForEach(0...50, id: \.self) { _ in
Text("Text text")
}
}
}
.navigationBarTitle("Title", displayMode: .large)
}
}
.navigationViewStyle(StackNavigationViewStyle())
结果
如何在NavigationView
中包装的ScrollView
下设置背景颜色?// 编辑:
以下动画展示了一个理想的效果(使用UIKit制作)。