【问题标题】:SwiftUI Keyboard Word Suggestion BarSwiftUI 键盘单词建议栏
【发布时间】:2021-12-05 21:08:40
【问题描述】:

如何删除键盘上的单词建议栏?我试过 .disableAutocorrection(true) 但它似乎并没有真正隐藏它,如图所示。如果我使用secureField,那么很明显,它会隐藏它,但是如何使用常规文本字段来做到这一点?

【问题讨论】:

    标签: ios swift swiftui keyboard


    【解决方案1】:

    这样设置你的TextField

            TextField("Enter some text...", text: $someText)
                .keyboardType(.alphabet)
                .disableAutocorrection(true)
    

    只是.disableAutocorrection(true) 会留下建议栏的剩余部分,但添加.keyboardType(.alphabet) 会使它全部消失。

    【讨论】:

    • 太棒了,谢谢
    • 非常感谢!在IOS15上测试,它可以工作。
    • 不幸的是,在 iOS 15 上,这会强制键盘仅允许与 ASCII 兼容的字符,因此它会隐藏 Emoji 和 UTF-8 键盘(如俄语),因此这是一个妥协的修复。
    【解决方案2】:

    为此,我要做的是更改您正在使用的键盘类型,几乎任何其他键盘类型与.disableAutocorrection(true) 组合都可以解决问题,这实际上取决于您需要用户在里面输入什么你的文本字段。

    所以例如你可以做这样的事情......

    TextField("test",text: $string)
                .font((Font.system(size: 17, design: .default)))
                .lineLimit(1)
                .autocapitalization(.none)
                .disableAutocorrection(true)/// Disable autocorrection 
                .frame(width: screenSize.size.width*(0.5), height: 30,alignment: .center)
                .padding(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15))
                .background(Color.gray.opacity(0.7))
                .keyboardType(.asciiCapable)/// KEYBOARD TYPE
                .cornerRadius(10)
                .foregroundColor(.white)
    

    值得一提的是,一些中文或日文等语言的键盘不会隐藏键盘(只有使用 SecureField 才会隐藏)

    【讨论】:

    • 谢谢。我认为这个解决方案与@Yrb 的解决方案或多或少相同,所以它也有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多