如何创建一个完全填充设备屏幕的矩形

时间:2020-05-30 11:55:20

标签: swift xcode swiftui

我正在尝试创建一个填充设备屏幕的矩形。我已经尝试过:

Rectangle()
            .fill(Color.green)
            .frame( height: UIScreen.main.bounds.size.height)
            .frame( width: UIScreen.main.bounds.size.width)
            .edgesIgnoringSafeArea(.all)


使用此扩展程序:

extension UIScreen{
   static let screenWidth = UIScreen.main.bounds.size.width
   static let screenHeight = UIScreen.main.bounds.size.height
   static let screenSize = UIScreen.main.bounds.size
}

但是,高度略小: enter image description here

我不确定为什么。

2 个答案:

答案 0 :(得分:2)

如果要填充屏幕,为什么不只设置Color中的View

struct ContentView: View {
    var body: some View {
        Color.green
            .edgesIgnoringSafeArea(.all)
    }
}

您可以使用Views将其他ZStack堆叠在上面:

struct ContentView: View {
    var body: some View {
        ZStack {
            Color.green
                .edgesIgnoringSafeArea(.all)

            // Other Views on top here
        }
    }
}

答案 1 :(得分:1)

使用如下

Rectangle()
   .fill(Color.green)
   .edgesIgnoringSafeArea(.all)