简单的 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)
这让我抓狂。 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)