gpt4 book ai didi

swift - 如何在不丢失导航栏 UI 的情况下更改我的 SwiftUI 背景?

转载 作者:行者123 更新时间:2023-12-05 06:54:44 25 4
gpt4 key购买 nike

我正在尝试将我的 View 背景颜色更改为特定颜色,但是,每当我使用基本的 Zstack 方式添加它时,它都会丢失导航栏 UI。 (见图片)

编辑代码

这个方法对我不起作用:

var body: some View {
ZStack{
Color("Background")
.edgesIgnoringSafeArea(.vertical)
VStack {
ScrollView {
ZStack {

VStack {
HStack{
VStack (alignment: .leading) {
Text("")
}
}
}
}
}
Text("")
}
}
}

带有简单 ZStack 的当前 UI:

Current UI

所需的用户界面: Desired UI

如何在不丢失导航栏 UI 的情况下更改 SwiftUI 中的背景颜色?

最佳答案

在 SwiftUI 发展的这个时期,它只能作为通过 UIKit 的解决方法

这是一个可能的方法演示(使用 Xcode 12.1/iOS 14.1 测试):

demo

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
})
}
}
}

注意:UINavigationConfiguration 取 self 的下一个答案 https://stackoverflow.com/a/65404368/12299030

关于swift - 如何在不丢失导航栏 UI 的情况下更改我的 SwiftUI 背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65473608/

25 4 0