当键盘出现时,简单的SwiftUI背景图像会不断移动

当键盘出现时,简单的SwiftUI背景图像会不断移动,swiftui,ios14,xcode12,Swiftui,Ios14,Xcode12,这让我快发疯了。在iOS14中处理背景图像似乎有了新的行为 理想的效果是:一个固定的背景图像填充屏幕,忽略安全区域,当键盘弹出时完全静止。 相反,键盘使图像向右滑动,即使键盘从底部升起 这是一个SwiftUI错误吗? 欢迎提出任何想法/解决方法 生成此代码的代码非常小: import SwiftUI struct ContentView: View { @State var name = "Name" var body: some Vie

这让我快发疯了。在iOS14中处理背景图像似乎有了新的行为

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

这是一个SwiftUI错误吗? 欢迎提出任何想法/解决方法

生成此代码的代码非常小:

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)
            )

好的,下面添加.frame调用可以使背景图像按需要显示

请特别注意.frame调用忽略了height参数。在以前解决这个问题的许多尝试中,高度被包括在内,导致了不同的不良行为

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