文本中的 SwiftUI 背景颜色会忽略安全区域,即使它未设置为忽略

Nio*_*ion 5 ios swift swiftui

我的问题是标题本身。我遵循本教程是为了了解 VStack、HStack、ZStack 和垫片:https://www.youtube.com/watch?v =6cM6wTMb-Co&t=973s

问题从视频的 17:05 开始,我无法得到与视频相同的结果。文本视图的背景颜色忽略模拟器的顶部和底部安全区域。

import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack{
            HStack{
                Text("Left side").background(Color.green)
                Spacer()
            }
            Spacer()
            HStack{
                Spacer()
                Text("Right Side").background(Color.green)
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

结果 :在此输入图像描述

即使我没有指定文本视图的背景颜色来忽略安全区域,他们也会忽略它。这是真正的最终结果吗?因为视频上的结果是不同的。预先感谢您的回复!

Asp*_*eri 7

使用彩色形状作为背景,而不是纯颜色(现在似乎填充了所有内容,也许不是错误),这在任何情况下都是有效的:

演示

var body: some View {
    VStack{
        HStack{
            Text("Left side")
              .background(Rectangle().fill(Color.green))    // << !!
            Spacer()
        }
        Spacer()
        HStack{
            Spacer()
            Text("Right Side")
              .background(Rectangle().fill(Color.green))   // << !!
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

使用 Xcode 13.2 / iOS 15.2 进行测试