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

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

【问题讨论】:

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

标签: ios swift ios8 xcode6


【解决方案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,这与密码等内容类型不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-17
      • 2013-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      相关资源
      最近更新 更多