UITextView 不会将输入工具栏切换到自定义键盘
UITextView doesn't switch input toolbar to custom keyboard
iOS9 Xcode7 beta6:我正在尝试使用 reloadInputViews()
在 UITextView
的键盘 (custom/default) 之间切换。通过调用 reloadInputViews()
来更改 UIKeyboardType
和 UIKeyboardAppearance
效果很好。此外,以下代码在 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。
有人遇到过这个错误吗?
您是否尝试更改顺序?因为你解雇了,然后又显示了一个键盘。有道理吗?:
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
该错误与板上带有 iOS9 的模拟器有关,最终已通过取消选中 Keyboard -> Connect -> Hardware Keyboard
得到修复。
iOS9 Xcode7 beta6:我正在尝试使用 reloadInputViews()
在 UITextView
的键盘 (custom/default) 之间切换。通过调用 reloadInputViews()
来更改 UIKeyboardType
和 UIKeyboardAppearance
效果很好。此外,以下代码在 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。
有人遇到过这个错误吗?
您是否尝试更改顺序?因为你解雇了,然后又显示了一个键盘。有道理吗?:
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
该错误与板上带有 iOS9 的模拟器有关,最终已通过取消选中 Keyboard -> Connect -> Hardware Keyboard
得到修复。