SwiftUI iOS14 - 禁用键盘回避
SwiftUI iOS14 - Disable keyboard avoidance
有没有办法在 iOS14 上禁用本机键盘回避?
iOS13中没有键盘回避,所以我想自己实现,但是当我在iOS14上做原生的时候仍然有效,所以我的实现和原生的都一样运行 同时,我不想要。
我的部署目标是 iOS13,所以我需要针对 iOS13 和 iOS14.
的解决方案
如果你想修改 iOS 14 代码,你可以使用 if #available(iOS 14.0, *)
,以便它在 iOS 13 上编译。
这是 的改编版本,适用于 iOS 13 和 iOS 14:
struct ContentView: View {
@State var text: String = ""
var body: some View {
if #available(iOS 14.0, *) {
VStack {
content
}
.ignoresSafeArea(.keyboard, edges: .bottom)
} else {
VStack {
content
}
}
}
@ViewBuilder
var content: some View {
Spacer()
TextField("asd", text: self.$text)
.textFieldStyle(RoundedBorderTextFieldStyle())
Spacer()
}
}
有没有办法在 iOS14 上禁用本机键盘回避?
iOS13中没有键盘回避,所以我想自己实现,但是当我在iOS14上做原生的时候仍然有效,所以我的实现和原生的都一样运行 同时,我不想要。
我的部署目标是 iOS13,所以我需要针对 iOS13 和 iOS14.
的解决方案如果你想修改 iOS 14 代码,你可以使用 if #available(iOS 14.0, *)
,以便它在 iOS 13 上编译。
这是
struct ContentView: View {
@State var text: String = ""
var body: some View {
if #available(iOS 14.0, *) {
VStack {
content
}
.ignoresSafeArea(.keyboard, edges: .bottom)
} else {
VStack {
content
}
}
}
@ViewBuilder
var content: some View {
Spacer()
TextField("asd", text: self.$text)
.textFieldStyle(RoundedBorderTextFieldStyle())
Spacer()
}
}