Как создать прямоугольник, точно заполняющий экран устройства - PullRequest
1 голос
/ 30 мая 2020

Я пытаюсь создать прямоугольник, заполняющий экран устройства. Я пробовал это:

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 ]

2 голосов
/ 30 мая 2020

Если вы заполняете экран, почему бы просто не установить 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 голос
/ 30 мая 2020

Используйте как показано ниже

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