问题
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).
回答1:
For the dark background use:
mytextfield.keyboardAppearance = UIKeyboardAppearanceAlert;
Read to find more information about UITextInputTraits (use UIKeyboardAppearanceDark
at iOS 7+).
回答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
回答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);
回答4:
Updating to swift 3.0
let textFieldAppearance = UITextField.appearance()
textFieldAppearance.keyboardAppearance = .dark //.default//.light//.alert
回答5:
If you're using Interface Builder, you can set keyboard look in the Attributes Inspector:
回答6:
SWIFT 4+: in the AppDelegate
UITextField.appearance().keyboardAppearance = .dark
回答7:
Today just use myTextField.keyboardAppearance = .dark
来源:https://stackoverflow.com/questions/9728847/how-to-change-keyboard-background-color-in-ios