How to change keyboard background color in iOS?

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).


Solution 1:

For the dark background use:

mytextfield.keyboardAppearance = UIKeyboardAppearanceAlert;

Read to find more information about UITextInputTraits (use UIKeyboardAppearanceDark at iOS 7+).

Solution 2:

To change it globally, you can use appearance proxy in AppDelegate... I've tested it in iOS 8, Swift:

UITextField.appearance().keyboardAppearance = UIKeyboardAppearance.dark

Solution 3:

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);

Solution 4:

Updating to swift 3.0

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

Solution 5:

If you're using Interface Builder, you can set keyboard look in the Attributes Inspector:

enter image description here