【问题标题】:Programmatically Hide Keyboard Shortcut Bar iOS 13以编程方式隐藏键盘快捷键栏 iOS 13
【发布时间】:2020-07-07 13:07:04
【问题描述】:

我正在尝试以编程方式删除连接外部键盘时出现在 iPad 底部的键盘快捷键栏。

有很多关于“解决方案”的帖子和答案,但没有一个适用于最新的 iOS。最接近的解决方案是:

UITextInputAssistantItem* item = [self inputAssistantItem];
item.leadingBarButtonGroups = @[];
item.trailingBarButtonGroups = @[];

目前所做的只是删除栏左侧的按钮。这也无济于事:

textField.autocorrectionType = UITextAutocorrectionTypeNo;

如何“以编程方式”删除此栏??

【问题讨论】:

    标签: ios objective-c uitextfield keyboard-shortcuts


    【解决方案1】:

    遵循现有答案并没有为我做这项工作(iPadOS 14.7.1)。我没有隐藏工具栏,而是在我的屏幕键盘顶部放置了一个空的(因此无用的)灰色条,隐藏了宝贵的屏幕空间,尤其是在横向主页按钮的 iPad 模型上。

    我发现,除了设置两个空数组之外,您还需要将inputAccessoryView 设置为nil等等! 键盘上方的栏完全消失了。

    textField.inputAssistantItem.leadingBarButtonGroups = []
    textField.inputAssistantItem.trailingBarButtonGroups = []
    textField.inputAccessoryView = nil
    

    您可能认为仅将视图设置为 nil 就可以完成这项工作,但事实证明,这只适用于设置空数组。

    【讨论】:

      【解决方案2】:

      从 InterfaceBuilder 中,将 Correction 更改为 No:

      或者,来源:

      item.autocorrectionType = .no
      

      【讨论】:

        【解决方案3】:

        抱歉使用了swift代码。

        你可以试试我的想法:

        1. 将 UITextField 的 autocorrectionType 从 .yes 更改为 no。
        2. 获取 inputAssistantItem 并将leadingBarButtonGroups 和 trailingBarButtonGroups 更改为空。

        源代码示例:

            tfSearchNameHiragana.autocorrectionType = .no
            let shortcut: UITextInputAssistantItem? = tfSearchNameHiragana.inputAssistantItem
            shortcut?.leadingBarButtonGroups = []
            shortcut?.trailingBarButtonGroups = []
        

        【讨论】:

        • 我试过了,但它似乎没有用 - 但还是谢谢你!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-11
        • 2015-03-28
        • 2011-03-25
        • 2017-01-10
        • 1970-01-01
        • 2015-12-21
        相关资源
        最近更新 更多