如何更改SwiftUI背景而不丢失导航栏UI?
我试图将视图背景颜色更改为特定颜色,但是,每当我使用基本Zstack方式添加它时,它就会丢失导航栏UI。(见图) 编辑的代码 此方法不适用于我:如何更改SwiftUI背景而不丢失导航栏UI?,swift,swiftui,Swift,Swiftui,我试图将视图背景颜色更改为特定颜色,但是,每当我使用基本Zstack方式添加它时,它就会丢失导航栏UI。(见图) 编辑的代码 此方法不适用于我: var body: some View { ZStack{ Color("Background") .edgesIgnoringSafeArea(.vertical) VStack { ScrollView { Z
var body: some View {
ZStack{
Color("Background")
.edgesIgnoringSafeArea(.vertical)
VStack {
ScrollView {
ZStack {
VStack {
HStack{
VStack (alignment: .leading) {
Text("")
}
}
}
}
}
Text("")
}
}
}
具有简单ZStack的当前用户界面:
所需用户界面:
如何在不丢失导航栏UI的情况下更改SwiftUI中的背景色?在SwiftUI发展的这一阶段,只能通过UIKit解决问题 下面是一个可能方法的演示(使用Xcode 12.1/iOS 14.1进行测试):
var主体:一些视图{
导航视图{
VStack{
滚动视图{
VStack{
ForEach(0..抱歉,我应该提到我在Scrollview之外有元素。我将发布我的问题的编辑,以及当前UI的屏幕截图和您的建议。正如您将看到的,背景更改不起作用…请参阅使用已知的解决方法更新。非常好,谢谢。
var body: some View {
NavigationView {
VStack {
ScrollView {
VStack {
ForEach(0..<50) {
Text("Item \($0)")
}
}
}
Text("Test").navigationTitle("Test")
.background(UINavigationConfiguration { nc in
nc.topViewController?.view.backgroundColor = .yellow
})
}
}
}