我目前正在尝试全局设置键盘样式,但我的方法不起作用。
我尝试使用UIAppearance
并将这行代码放在AppDelegate中:
[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceAlert];
但我在控制台上得到的是:
[UISearchBarTextField _UIAppearance_setKeyboardAppearance:]: unrecognized selector sent to instance 0xa1897e0
任何想法如何解决这个问题?
答案 0 :(得分:8)
iOS7扩展了UITextFields的UIAppearance
协议,你现在可以在UITextField上设置keyboardAppearance。
[UITextField appearance].keyboardAppearance = UIKeyboardAppearanceDark;
但是,UITextView
并不支持它。对于本课程,我将使用jszumski的解决方案
答案 1 :(得分:2)
UIAppearance
仅适用于专门用宏UI_APPEARANCE_SELECTOR
标记的方法兼容,不幸的是keyboardAppearance
不是其中之一。
获得所需内容的最佳方法是继承UITextField
并在子类的keyboardAppearance = UIKeyboardAppearanceAlert;
和init
方法中设置initWithFrame:
。然后,只要在应用中使用UITextField
,就专门使用您的课程。