简单的 SwiftUI 背景图像在键盘出现时保持移动

Simple SwiftUI Background Image keeps moving when keyboard appears

这让我抓狂。 iOS14.

中似乎有处理背景图像的新行为

想要的效果是:一个固定的背景图片,充满屏幕,忽略安全区域,当键盘弹出时完全静止。 相反,键盘使图像向右滑动,即使键盘从底部上升 (??)。

这是 SwiftUI 的错误吗? 任何 ideas/workarounds 表示赞赏。

生成这个的代码非常少:

import SwiftUI

struct ContentView: View {
    
    @State var name = "Name"
    
    var body: some View {
        GeometryReader { geometry in
            VStack {
                TextField("Placeholder", text: $name)
            }
            .frame(width: geometry.size.width, height: geometry.size.height)
            .background(
                Image("bricks")
                    .resizable()
                    .scaledToFill()
                    .edgesIgnoringSafeArea(.all)
            )
        }
    }
}

好的,事实证明,按如下方式添加 .frame 调用可以让背景图像按需要显示。

(请特别注意,.frame 调用省略了 height 参数。在之前的许多尝试中解决此问题时,都包含了高度,从而导致不同的不良行为)

            .background(
                Image("bricks")
                    .resizable()
                    .scaledToFill()
                    .frame(width: geometry.size.width)
                    .edgesIgnoringSafeArea(.all)
            )

对我有用:

.background(
                Image("bricks")
                    .resizable()
                    .scaledToFill()
                    .frame(width: geometry.size.width)
                    
            )
.edgesIgnoringSafeArea(.all)