如何更改iOS中的键盘背景颜色?

我想知道如何在iOS中以编程方式更改键盘背景颜色? 背景通常是灰色的,但我已经看到黑色背景(字母后面)。

对于黑暗的背景使用

mytextfield.keyboardAppearance = UIKeyboardAppearanceAlert; 

阅读以查找有关UITextInputTraits的更多信息(在iOs 7+上使用UIKeyboardAppearanceDark )。

在iOS 7中, UIKeyboardAppearanceAlert已被弃用,所以请改用它:

 mytextfield.keyboardAppearance = UIKeyboardAppearanceDark; 

如果您需要支持早期的iOS和iOS 7,并且已经创build了必要的macros(根据https://stackoverflow.com/a/5337804/588253 ),则可以使用以下命令:

 mytextfield.keyboardAppearance = (SYSTEM_VERSION_LESS_THAN(@"7.0") ? UIKeyboardAppearanceAlert : UIKeyboardAppearanceDark); 

要全局更改它,可以在AppDelegate中使用外观代理…我已经在iOS 8 Swift中testing了它:

 UITextField.appearance().keyboardAppearance = .Dark 

更新到swift 3.0

let textFieldAppearance = UITextField.appearance() textFieldAppearance.keyboardAppearance = .dark //.default//.light//.alert