【问题标题】:Simple SwiftUI Background Image keeps moving when keyboard appears出现键盘时,简单的 SwiftUI 背景图像一直在移动
【发布时间】:2020-09-23 13:15:17
【问题描述】:

这让我发疯了。在 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)
            )
        }
    }
}

【问题讨论】:

    标签: swiftui ios14 xcode12


    【解决方案1】:

    好的,我们按照如下方式添加.frame 调用可以让背景图像按需要显示。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-15
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 2021-08-02
      • 2015-06-18
      • 2018-05-21
      相关资源
      最近更新 更多