在 iOS7 中,协议UITextInputTraits
为 enum 获取新值UIKeyboardAppearance
。特别是我有兴趣更改keyboardAppearance
toUIKeyboardAppearanceDark
以匹配当前应用程序的深色设计。
我首先查看了 Info.plist,但似乎没有允许您全局设置此属性的键。
我的第二个想法是使用 UIAppearance 但不幸的keyboardAppearance
是没有UI_APPEARANCE_SELECTOR
装饰器。但由于某种原因,这段代码:
[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceDark];
适用于 iOS7,但在 iOS6 中崩溃。
更奇怪的是下面的代码:
[[UITextView appearance] setKeyboardAppearance:UIKeyboardAppearanceDark];
不适用于 iOS7 和 iOS6。
一个好主意可以是创建 UITextField 和 UITextView 的子类,但这种方式例如在 UISearchBar 中不起作用。
我不想创建一个类别,因为我不想覆盖 Apple 类的实现并且可能不是未来的证明。
有人处理过这个吗?