gpt4 book ai didi

ios - 如何更改 SwiftUI 中 NavigationView 的背景颜色?

转载 作者:搜寻专家 更新时间:2023-11-01 06:50:28 25 4
gpt4 key购买 nike

我正在尝试使用以下代码更改 NavigationView(不是导航栏)的背景颜色:

NavigationView {
Text("Text")
}
.background(Color.clear)

但它不起作用。另外,我尝试更改 UIView 的外观:

UIView.appearance().backgroundColor = UIColor.black

但这也行不通。

实际结果如下:

enter image description here

期望的结果是:

enter image description here

有人知道怎么做吗?

最佳答案

先看这个结果:

View hierarchy

如您所见,您可以像这样设置 View 层次结构中每个元素的颜色:

struct ContentView: View {

init(){
UINavigationBar.appearance().backgroundColor = .green
//For other NavigationBar changes, look here:(https://stackoverflow.com/a/57509555/5623035)
}

var body: some View {
ZStack {
Color.yellow
NavigationView {
ZStack {
Color.blue
Text("Some text")
}
}.background(Color.red)
}
// iOS 16 - No need for tweaking the appearance
/* .toolbarBackground(.green, in: .navigationBar) */
}
}

第一个是window:

window.backgroundColor = .magenta

您面临的问题是我们无法移除 SwiftUI 的 HostingViewController 的背景色(目前),因此您无法通过 View 层次结构。您应该等待 API 或尝试伪造导航 View (不推荐)。

关于ios - 如何更改 SwiftUI 中 NavigationView 的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57685679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com