答案 0 :(得分:24)
您只能使用UIKeyboardAppearance
将键盘外观设置为下面列出的三种中的任何一种。
UIKeyboardAppearanceDefault // Corresponds to the UIKeyboardAppearanceLight
UIKeyboardAppearanceDark // Available in iOS 7.0 and later.
UIKeyboardAppearanceLight // Available in iOS 7.0 and later.
还有一个名为UIKeyboardAppearanceAlert
的常量,但现在已弃用。您应该使用UIKeyboardAppearanceDark
代替。
您无法使用任何自定义或未定义的颜色。 所以,使用......
myTextfield.keyboardAppearance = UIKeyboardAppearanceDark;
答案 1 :(得分:12)
在iOS 7中,由于键盘是半透明的,我可以通过在键盘后面添加彩色子视图来实现此效果,该子视图显示和隐藏keyboard notifications。
我创建了一个GitHub项目来演示这种技术。请记住,它现在仅适用于纵向,显然仅适用于iOS 7。
https://github.com/meekapps/TintedKeyboard
答案 2 :(得分:4)
您可以使用keyboardAppearance方法更改颜色。
_textField.keyboardAppearance = UIKeyboardAppearanceDark;
答案 3 :(得分:2)
根据您想要自定义颜色的评论:
你可以这样做...只需使用普通键盘,然后观察UIKeyboardWillShowNotification
和UIKeyboardWillHideNotification
,这样就可以在后面显示颜色UIView
键盘。
这会很麻烦,但它会起作用,因为默认键盘在iOS 7上是透明的。
祝你好运。