iOS9 Xcode7 beta6:我尝试使用UITextView
在reloadInputViews()
的键盘(自定义/默认)之间切换。通过调用UIKeyboardType
更改UIKeyboardAppearance
和reloadInputViews()
非常有效。以下代码在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中有效。
有人遇到过这个错误吗?
答案 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
进行修复。