0

iOS9 Xcode7 beta6:我正在尝试UITextView使用reloadInputViews(). 改变UIKeyboardTypeUIKeyboardAppearance通过调用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。

有人遇到过这个bug吗?

4

2 回答 2

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
于 2015-09-01T16:55:40.333 回答
0

该错误与板上装有 iOS9 的模拟器有关,最终已通过取消选中来修复Keyboard -> Connect -> Hardware Keyboard

于 2015-09-03T19:09:43.987 回答