Изменение цвета пользовательского UIToolbar над клавиатурой (не просто изменение цвета текста) в iOS 7
В моем приложении я теперь использую "темный" внешний вид для клавиатуры для всех полей UITextField, где я ранее использовал "светлую клавиатуру".
Над клавиатурой для одного из текстовых полей у меня есть пользовательский UIToolbar, созданный с несколькими кнопками, позволяющими пользователю выбрать один из вариантов над клавиатурой.
Это кажется намного сложнее, чем нужно, но я пытаюсь сделать UIToolBar темным вместо светлого, и что бы я ни старался, панель инструментов всегда белая, и я могу только изменить цвет кнопок на панели инструментов. панель инструментов, а не сама панель инструментов.
Панель инструментов создана в коде:
UIToolbar *alertToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0f, 0.0f,
self.view.window.frame.size.width, 44.0f)];
alertToolBar.backgroundColor = [UIColor blackColor];
//alertToolBar.tintColor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:1.0f];
alertToolBar.translucent = NO;
alertToolBar.items = @[ [[UIBarButtonItem alloc] initWithTitle:@" GBP"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(barButtonAddText:)],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil
action:nil],
[[UIBarButtonItem alloc] initWithTitle:@" USD"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(barButtonAddText:)],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil
action:nil],
[[UIBarButtonItem alloc] initWithTitle:@" EUR"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(barButtonAddText:)],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil
action:nil],
self.itemTextField.inputAccessoryView = alertToolBar;
Я попробовал это с закомментированным кодом выше (//alertToolBar.tintColor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:1.0f];
) и полоса всегда остается белой, но только "кнопки" меняют цвет.
Как я могу изменить всю панель инструментов черным?
Любая помощь в этом была бы очень признательна!
2 ответа
Я предполагаю, что вы используете iOS 7.0 SDK, поэтому в этом случае barTint больше не работает для этого.
Вы должны будете использовать в этом случае barTintColor.
Документация Apple:
Поведение tintColor для баров изменилось на iOS 7.0. Он больше не влияет на фон панели и ведет себя так, как описано для свойства tintColor, добавленного в UIView. Чтобы тонировать фон панели, пожалуйста, используйте -barTintColor.
В этом случае должно быть:
alertToolBar.barTintColor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:1.0f];
Я думаю, что вы хотите установить:
@property(nonatomic, retain) UIColor *barTintColor