使用iOS7,协议UITextInputTraits
获取枚举UIKeyboardAppearance
的新值。
特别是我有兴趣将keyboardAppearance
更改为UIKeyboardAppearanceDark
以匹配当前的应用程序黑暗设计。
我首先查看了Info.plist,但似乎没有一个密钥允许您全局设置此属性。
我的第二个想法是使用UIAppearance,但不幸的是keyboardAppearance
没有UI_APPEARANCE_SELECTOR
装饰器。
但由于某种原因,这段代码:
[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceDark];
适用于iOS7,但在iOS6中崩溃。
更奇怪的是以下代码:
[[UITextView appearance] setKeyboardAppearance:UIKeyboardAppearanceDark];
在iOS7和iOS6中都不起作用。
一个好主意可以是创建UITextField&的子类。 UITextView但是这样在UISearchBar中不起作用。
我不想创建一个类别,因为我不想对Apple类的实现进行排序,并且可能不是未来的证明。
有人曾经处理过这个吗?
答案 0 :(得分:5)
使用此控件 https://github.com/hackiftekhar/IQKeyboardManager
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[IQKeyboardManager sharedManager] setOverrideKeyboardAppearance:YES];
[[IQKeyboardManager sharedManager] setKeyboardAppearance:UIKeyboardAppearanceDark];
return YES;
}
它主要用于管理键盘和键盘之间的距离。 textField但你的问题也可以通过这个很棒的库来解决。