背景颜色变化使所有元素消失

时间:2019-10-27 19:21:13

标签: ios swift swiftui

我想更改整个屏幕的背景色。因此,我尝试添加此代码UIView.appearance().backgroundColor = UIColor.red。它改变了背景色,但可悲的是它使其他所有东西消失了。因此,如果有人让我知道我做错了什么,那我会非常高兴。

import SwiftUI

struct ContentView: View {
    init() {
        UIView.appearance().backgroundColor = UIColor.red
    }

    var body: some View {
        NavigationView {
            Text("hello")
        }
    }
}

#if DEBUG
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
#endif

Simulator and Xcode Preview/Canvas

1 个答案:

答案 0 :(得分:2)

忘记UIKIt和UIView。您只需要一个ZStack:

struct TestView: View {

    var body: some View {
        ZStack {
            Color.red
            Text("hello")
        }   .edgesIgnoringSafeArea(.all)
    }
}