iOS 8 - 如何隐藏键盘上方的建议列表?

Posted

技术标签:

【中文标题】iOS 8 - 如何隐藏键盘上方的建议列表?【英文标题】:iOS 8 - How to hide suggestion list above keyboard? 【发布时间】:2014-06-10 11:44:10 【问题描述】:

有没有办法隐藏键盘上方的建议列表?我在文档中找不到任何解决方案。

【问题讨论】:

只有用户可以隐藏。作为开发人员,您唯一能做的就是使用不支持自动更正的键盘类型。 【参考方案1】:

是的,有。您必须禁用文本字段/文本/任何其他符合 UITextInputTraits protocol, 的类的自动更正,这可以通过 autocorrectionType 属性完成。

textField.autocorrectionType = .no

另外,如果你有兴趣,以下是唯一的UIKeyboardTypes 默认情况下没有建议。

小数点 数字键盘 电话板

【讨论】:

对 Objective-C 有什么想法吗? @NJGadhiya 非常相似。唯一的区别是枚举中的点分隔和分号textField.autocorrectionType = UITextAutocorrectionTypeNo; UITextAutocorrectionType.No,它会禁用建议,但不会隐藏 ios9.2 中的栏。是否有隐藏建议栏的单独代码? 这在 UISearchbar NumberPad 键盘上对我不起作用(它仍然显示上面的电话建议)。通过 Swift 4 和 Xcode 9,2 在 iPhone 6S 真实设备中进行测试。还有其他人吗? 这不适用于 iphone 8plus 真机 swift 4 xcode 9.4【参考方案2】:

Swift 4.0 +:

textfield.autocorrectionType = .no

要隐藏栏(预测栏),请使用以下代码:

if #available(iOS 9.0, *) 
        var item = textFeild.inputAssistantItem
        item.leadingBarButtonGroups = [];
        item.trailingBarButtonGroups = [];
    

要禁用复制和粘贴,请使用此功能:

override func selectionRects(for range: UITextRange) -> [Any] 
    return []


override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool 
    let menu = UIMenuController.shared
    menu.isMenuVisible = false
    return false

【讨论】:

【参考方案3】:

(2020 年 6 月编辑:对于 Xcode 11.3.1 仍然适用)


在最新版本的 Xcode 故事板中,您还可以在故事板中设置键盘特征(右侧面板,属性检查器,然后查找文本输入特征并选择所需的特征,至少在 Xcode 9 中)。特别是,为校正特征选择“否”,如下例所示。有趣的是,这是针对内容类型 Username,而 Correction trait 的默认选择是打开 Correction,这与密码等内容类型不同。

【讨论】:

以上是关于iOS 8 - 如何隐藏键盘上方的建议列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何在iOS 8上的Cordova / PhoneGap应用程序中隐藏键盘表格附件栏? [重复]

如何在 iOS 8 上的 Cordova / PhoneGap 应用程序中隐藏键盘表单附件栏? [复制]

如何隐藏键盘助手栏

如何在输入键上隐藏键盘

在 ios 键盘上方显示建议工具栏

如何获得 iOS 8.3 表情符号键盘高度?