Change the keyboardAppearence for the whole app
使用iOS7,协议
我特别想将
我首先查看了Info.plist,但似乎其中没有一个键可让您全局设置此属性。
我的第二个想法是使用UIAppearance,但是不幸的是
但是出于某种原因,此代码:
1 | [[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceDark]; |
在iOS7上可用,但在iOS6上崩溃。
更奇怪的是以下代码:
1 | [[UITextView appearance] setKeyboardAppearance:UIKeyboardAppearanceDark]; |
在iOS7和iOS6中均不起作用。
一个好主意可以是创建UITextField和UITextView的子类,但是这种方式在UISearchBar中不起作用。
我不想创建一个类别,因为我不想对Apple类的实现进行某种程度的覆盖,并且可能不会成为未来的证明。
有人处理过吗?
使用此控件
https://github.com/hackiftekhar/IQKeyboardManager
1 2 3 4 5 6 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[IQKeyboardManager sharedManager] setOverrideKeyboardAppearance:YES]; [[IQKeyboardManager sharedManager] setKeyboardAppearance:UIKeyboardAppearanceDark]; return YES; } |
它主要用于管理键盘和textField之间的距离,但是您的问题也可以通过此强大的库解决。