大家好。我正在使用 SwiftUI 创建一个简单的 iOS 应用程序,我想将视图的背景颜色更改为我拥有的自定义背景颜色。
这是非常容易做到的事情,但如果不使用 ZStacks 或类似的解决方法,似乎在 SwiftUI 中是不可能实现的,例如,如果您使用 List,则无法实现。
我想更改视图的颜色,而不是使用带有自定义颜色的 ZStack,然后将其余的视图放在它上面。我UIView.appearance().backgroundColor = color
在初始化我的视图时尝试使用,但随后所有视图都被隐藏并且屏幕填充了所选的颜色。
由于我不擅长解释,这里有一些描述问题的图像:
import SwiftUI
struct TabController: View {
@State private var selection = 0
init() {
UIView.appearance().backgroundColor = UIColor(named: "backgroundColor")
}
var body: some View {
TabView(selection: $selection) {
HomePageView()
.tabItem {
Image(systemName: "house.fill")
.font(.title)
}
.tag(0)
Text("Second View")
.font(.title)
.tabItem {
Image(systemName: "bell.fill")
.font(.title)
}
.tag(1)
}.edgesIgnoringSafeArea(.top)
}
}
Run Code Online (Sandbox Code Playgroud)
希望这有助于理解:
var body: some View {
Color.purple
.overlay(
VStack(spacing: 20) {
Text("Overlay").font(.largeTitle)
Text("Example").font(.title).foregroundColor(.white)
})
.edgesIgnoringSafeArea(.vertical)
}
Run Code Online (Sandbox Code Playgroud)
另一个如果您使用 Group 中的视图
var body: some View {
Group {
Text("Hello SwiftUI!")
}
.background(Color.black)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8130 次 |
最近记录: |