问题描述
有没有办法在 iOS14 上禁用原生键盘回避?
Is there a way to disable the native keyboard avoidance on iOS14?
iOS13 中没有键盘回避,所以我想实现自己的,但是当我在 iOS14 上执行本机时仍然处于活动状态,所以我的实现和本机同时运行,我没有'不想.
There is no keyboard avoidance in iOS13, so I want to implement my own, but when I do the native one on iOS14 is still active, so both my implementation and the native one run at the same time, which I don't want.
我的部署目标是 iOS13,所以我需要一个适用于 iOS13 和 iOS14 的解决方案.
My deployment target is iOS13, so I need a solution for both iOS13 and iOS14.
推荐答案
如果你想调整 iOS 14 代码以便它在 iOS 上编译,你可以使用 if #available(iOS 14.0, *)
13.
You can use if #available(iOS 14.0, *)
if you want to adapt the iOS 14 code so it compiles on iOS 13.
这是此答案的改编版本,适用于 iOS 13 和 iOS 14:
Here is an adapted version of this answer to work on both iOS 13 and 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()
}
}
这篇关于SwiftUI iOS14 - 禁用键盘回避的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!