安全区域上方的SwiftUI全屏图像

时间:2019-07-12 14:02:20

标签: swiftui

我试图使图像充满屏幕(包括iPhone X系列槽口下方和应用程序切换栏附近的安全区域)。

import SwiftUI

struct ContentView : View {
    var body: some View {
        ZStack() {
            Image("background")
                .resizable()
                .aspectRatio(UIImage(named: "background")!.size, contentMode: .fill)
            Text("SwiftUI Example")
                .font(.largeTitle)
                .background(Color.black)
                .foregroundColor(.white)
        }
    }
}

上面的代码产生以下结果,该结果的顶部和底部仍带有白色条。有没有办法使图像真正充满屏幕?

swiftui image example

1 个答案:

答案 0 :(得分:0)

默认情况下,SwiftUI会考虑安全区域。为了获得理想的结果,您必须通知SwiftUI它可以忽略安全区域,并在最后一个对象后附加以下语句:

.edgesIgnoringSafeArea(.all)

这意味着新代码将为:

ZStack() {
    Image("background")
        .resizable()
        .aspectRatio(UIImage(named: "background")!.size, contentMode: .fill)
    Text("SwiftUI Example")
        .font(.largeTitle)
        .background(Color.black)
        .foregroundColor(.white)
}.edgesIgnoringSafeArea(.all)