Как изменить цвет фона клавиатуры в iOS? - PullRequest
43 голосов
/ 16 марта 2012

Хотелось бы узнать, как программно изменить цвет фона клавиатуры в iOS?Фон обычно серый, но я уже видел черный фон (за буквами).

Ответы [ 6 ]

53 голосов
/ 16 марта 2012

Для темного фона используйте:

mytextfield.keyboardAppearance = UIKeyboardAppearanceAlert;

Прочтите, чтобы найти больше информации о UITextInputTraits (используйте UIKeyboardAppearanceDark в iOS 7 +).

27 голосов
/ 30 июля 2015

Чтобы изменить его глобально, вы можете использовать внешний прокси в AppDelegate ... Я тестировал его в iOS 8, Swift:

UITextField.appearance().keyboardAppearance = .Dark
26 голосов
/ 25 сентября 2013

В iOS 7 UIKeyboardAppearanceAlert устарело, поэтому используйте это вместо:

mytextfield.keyboardAppearance = UIKeyboardAppearanceDark;

Если вам требуется поддержка более ранних версий iOS и iOS 7, и вы создали необходимые макросы (для https://stackoverflow.com/a/5337804/588253),, вы можете использовать это:

mytextfield.keyboardAppearance = (SYSTEM_VERSION_LESS_THAN(@"7.0") ? UIKeyboardAppearanceAlert : UIKeyboardAppearanceDark);
9 голосов
/ 13 декабря 2016

Обновление до swift 3.0

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

4 голосов
/ 29 января 2019

Если вы используете Interface Builder, вы можете настроить внешний вид клавиатуры в Инспекторе атрибутов:

enter image description here

0 голосов
/ 21 апреля 2019

SWIFT 4+: в AppDelegate

UITextField.appearance().keyboardAppearance = .dark
...