Swift 如何调整文本的背景区域

Swift How can I adjust the background area of a Text

我有一个 swift 文件,其中有几个堆栈,其中上面的文本表现得很奇怪。我不明白为什么“控制器”文本的背景颜色会延伸到屏幕的尽头。如何调整背景的高度?

 var body: some View {
        NavigationView {
            ZStack {
                Color("Themecolor")
                .edgesIgnoringSafeArea(.all)
                VStack {
                    HStack(spacing: 0) {
                      Text("BIKE")
                        .font(.system(size: 52))
                        .fontWeight(.bold)
                        .foregroundColor(.white)
                      Text("Controller")
                        .font(.system(size: 52))
                        .foregroundColor(.black)
                        .background(
                            .white)
                    }
                    .offset(y: -50)
                    

最好,非常感谢, 大卫

默认情况下应用带有样式的新背景修饰符并忽略 .all 的安全区域,因此我们可以明确地关闭它,例如

  Text("Controller")
    .font(.system(size: 52))
    .foregroundColor(.black)
    .background(
        .white, ignoresSafeAreaEdges: .bottom)  // << here !!

测试 Xcode 13.4 / iOS 15.5

备选方案:为了向后兼容,使用不同的修饰符变体

  Text("Controller")
    .font(.system(size: 52))
    .foregroundColor(.black)
    .background(
        Rectangle().fill(.white))    // << here !!