I would like to know how to change the keyboard background color programmatically in iOS? The background is normally grey but I have already seen black background (behind letters).
For the dark background use:
mytextfield.keyboardAppearance = UIKeyboardAppearanceAlert;
Read to find more information about UITextInputTraits (use UIKeyboardAppearanceDark
at iOS 7+).
To change it globally, you can use appearance proxy in AppDelegate... I've tested it in iOS 8, Swift:
UITextField.appearance().keyboardAppearance = .Dark
In iOS 7, UIKeyboardAppearanceAlert
is deprecated, so use this instead:
mytextfield.keyboardAppearance = UIKeyboardAppearanceDark;
If you need to support both earlier iOSes and iOS 7, and you've created the necessary macros (per https://stackoverflow.com/a/5337804/588253), you can use this:
mytextfield.keyboardAppearance = (SYSTEM_VERSION_LESS_THAN(@"7.0") ? UIKeyboardAppearanceAlert : UIKeyboardAppearanceDark);
Updating to swift 3.0
let textFieldAppearance = UITextField.appearance()
textFieldAppearance.keyboardAppearance = .dark //.default//.light//.alert
SWIFT 4+: in the AppDelegate
UITextField.appearance().keyboardAppearance = .dark
来源:https://stackoverflow.com/questions/9728847/how-to-change-keyboard-background-color-in-ios