Как изменить цвет фона клавиатуры в iOS?
Хотелось бы узнать, как программно изменить цвет фона клавиатуры в iOS? Фон обычно серый, но я уже видел черный фон (за буквами).
9 ответов
Для темного фона используйте
mytextfield.keyboardAppearance = UIKeyboardAppearanceAlert;
Прочитайте, чтобы найти больше информации о UITextInputTraits (используйте UIKeyboardAppearanceDark
на iOs 7+).
Чтобы изменить его глобально, вы можете использовать внешний прокси в AppDelegate... Я тестировал его в iOS 8, Swift:
UITextField.appearance().keyboardAppearance = .Dark
В iOS 7 UIKeyboardAppearanceAlert
устарела, поэтому используйте это вместо:
mytextfield.keyboardAppearance = UIKeyboardAppearanceDark;
Если вам требуется поддержка более ранних версий iOS и iOS 7, и вы создали необходимые макросы (согласно /questions/5905906/kak-proverit-versiyu-ios/5905943#5905943), вы можете использовать это:
mytextfield.keyboardAppearance = (SYSTEM_VERSION_LESS_THAN(@"7.0") ? UIKeyboardAppearanceAlert : UIKeyboardAppearanceDark);
Обновление до swift 3.0
let textFieldAppearance = UITextField.appearance()
textFieldAppearance.keyboardAppearance = .dark //.default//.light//.alert
Если вы используете Interface Builder, вы можете настроить внешний вид клавиатуры в Инспекторе атрибутов:
Сегодня просто используйте myTextField.keyboardAppearance = .dark
SWIFT 4+: в AppDelegate
UITextField.appearance().keyboardAppearance = .dark
В Объектив-C
Для темной клавиатуры
[UITextField appearance].keyboardAppearance = UIKeyboardAppearanceDark;
Для светлой клавиатуры
[UITextField appearance].keyboardAppearance = UIKeyboardAppearanceLight;
Вы можете определить это в AppDelegate, чтобы обрабатывать это глобально.