Получение UIKeyboard цвет фона программно

есть ли способ получить UIKeyboard цвет фона? Я ставлю вспомогательный вид поверх моего UIKeyboard и пытается сопоставить его цвет с цветом фона клавиатуры. Но, похоже, разные типы клавиатуры имеют разные цвета фона. См. ниже скриншоты для клавиатуры по умолчанию и электронной почты.

есть ли какой-либо способ, мы можем узнать цвет фона клавиатуры программно, чтобы цвет accessoryView может быть измененный.

UIKeyboardTypeEmailAddress

UIKeyboardTypeDefault

3 ответов


вы можете сделать что-то вроде этого:

UIKeyboardAppearance currentAppearance = yourTextView.keyboardAppearance;
if (currentAppearance == UIKeyboardAppearanceDark) {
    // dark
}
else if (currentAppearance == UIKeyboardAppearanceDefault) {
    // default
}
else if (currentAppearance == UIKeyboardAppearanceLight) {
    // light
}

Я предлагаю вам получить цвет клавиатуры RGB с С DigitalColor Метр как мы используем этот инструмент в Mac или вы можете получить его с помощью любого другого инструмента.

а затем просто назначьте эти значения RGB для вашего аксессуара и сопоставьте его цвет с клавиатурой.

значение RGB вашей клавиатуры кажется мне похожим на (63,63,63) и вы можете использовать это:

[UIColor colorWithRed:63/255.0 green:63/255.0 blue:63/255.0 alpha:1]

надеюсь, это поможет вам.


для темного фона использовать

 mytextfield.keyboardAppearance = UIKeyboardAppearanceAlert;