4

我目前正在尝试全局设置键盘样式,但我的方法不起作用。我尝试使用UIAppearance并将这行代码放在 AppDelegate 中:

[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceAlert];

但是我在控制台上得到的是以下内容:

[UISearchBarTextField _UIAppearance_setKeyboardAppearance:]: unrecognized selector sent to instance 0xa1897e0

任何想法如何解决这个问题?

4

2 回答 2

8

iOS7 扩展了UIAppearanceUITextFields 的协议,所以你现在可以在 UITextField 上设置keyboardAppearance。

[UITextField appearance].keyboardAppearance = UIKeyboardAppearanceDark;

不过,UITextView不支持。对于这门课,我会选择 jszumski 的解决方案

于 2014-05-17T09:49:27.313 回答
2

UIAppearance仅适用于专门用宏标记UI_APPEARANCE_SELECTOR为兼容的方法,不幸keyboardAppearance的是不是其中之一。

获得你想要的东西的最好方法是子类化UITextFieldkeyboardAppearance = UIKeyboardAppearanceAlert;在子类initinitWithFrame:方法中设置。然后在应用程序中使用的任何地方专门使用您的课程UITextField

于 2013-04-15T13:03:51.133 回答