UITextView不会将输入工具栏切换到自定义键盘

时间:2015-09-01 15:55:49

标签: ios cocoa-touch ios9 xcode7 xcode7-beta6

iOS9 Xcode7 beta6:我尝试使用UITextViewreloadInputViews()的键盘(自定义/默认)之间切换。通过调用UIKeyboardType更改UIKeyboardAppearancereloadInputViews()非常有效。以下代码在iOS8下运行良好。

这意味着textView已经是第一响应者:

private func showCustomKeyboard() {
    textView.inputView = customKeyboardView
    textView.reloadInputViews()
}

private func showDefaultKeyboard() {
    textView.inputView = nil
    textView.reloadInputViews()
}

以下内容没有任何效果,而且它们看起来有点矫枉过正:

textView.inputView.resignFirstResponder()
textView.inputView.becomeFirstResponder()
textView.inputView = customKeyboardView
textView.reloadInputViews()

我在SO上发现了几个相关的问题但是没有一个问题与iOS9没有关系,正如我之前所说的那样在iOS8中有效。

有人遇到过这个错误吗?

2 个答案:

答案 0 :(得分:2)

您是否尝试更改订单?因为你解雇并在那之后再次显示键盘。它有意义吗?:

textView?.inputView.resignFirstResponder() // dismiss keyboard
textView?.inputView.becomeFirstResponder() // show keyboard
textView?.inputView = customKeyboardView // reassign new keyboard
textView?.reloadInputViews() // reload keyboard

尝试:

textView?.inputView.resignFirstResponder() // dismiss keyboard
textView?.inputView = customKeyboardView // reassign new keyboard
textView?.reloadInputViews() // reload keyboard
textView?.inputView.becomeFirstResponder() // show keyboard

答案 1 :(得分:0)

该错误与电路板上带有iOS9的模拟器有关,最终通过取消选中Keyboard -> Connect -> Hardware Keyboard进行修复。