显示键盘时更新UIKeyboardAppearance

时间:2014-06-13 20:00:57

标签: ios objective-c cocoa-touch keyboard uikit

Cocoa Touch允许通过设置UITextInputTraits协议的keyboardAppearance属性来更改键盘外观,该协议在UITextField和UITextView类中实现。

似乎在键盘已经在屏幕上时更新keyboardAppearance属性不会更新键盘外观。

作为一种解决方法,我正在考虑解除键盘并重新打开它。有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:2)

这是一个烦人的限制,我有同样的要求。

我能找到的唯一选择是致电:

self.textView.resignFirstResponder()
self.textView.keyboardAppearance = UIKeyboardAppearance.Dark
self.textView.becomeFirstResponder()

它没有刷新,但由于我连接到改变contentInsets等的UIKeyboardWillShow / HideNotifications,键盘下面的内容有可见的重新洗牌。