как установить фон uitoolbar, похожий на мою панель навигации

Всем привет:
Я установил пользовательский фон для своей панели навигации, это цвет оттенка, который, я думаю, я выбрал из IB. Теперь я хочу программно изменить фон моей uitoolbar (добавленный программно), похожий на мою панель навигации. Обязан за любую помощь в этом отношении.

Извините, ребята, плохо, это на самом деле панель инструментов навигационного контроллера. так что это сработало для меня:
self.navigationController.toolbar.tintColor=self.navigationController.navigationBar.tintColor;

Спасибо всем вам, ребята, за быстрый ответ, особенно @phooze, который направил меня в правильном направлении :)


person Tobias    schedule 16.02.2011    source источник


Ответы (5)


UIToolbar также имеет свойство tintColor, как и UINavigationBar. Вы должны иметь возможность установить одно на другое:

myToolbar.tintColor = myNavBar.tintColor;

после создания панели инструментов. Имейте в виду, что этот код будет работать только в том случае, если myNavBar был загружен из NIB, поэтому лучше всего поместить его в viewWillAppear: или viewDidLoad.

Вы можете получить доступ к UINavigationBar из свойства navigationBar UINavigationController (вероятно, self.parentViewController в вашем случае).

person makdad    schedule 16.02.2011
comment
Я уже пробовал этот phooze .. не работает в моем случае. Я делаю это в моем представленииWillAppear: self.toolbar.tintColor = self.navigationController.navigationBar.tintColor; - person Tobias; 16.02.2011
comment
Можете ли вы подтвердить в этом месте кода, что оба элемента не равны нулю? - person makdad; 16.02.2011

Невозможно сравнить цвета панели навигации и панели инструментов, но вы можете установить цвет панели инструментов с помощью следующего кода

    aToolbar.barStyle = UIBarStyleBlackTranslucent;
    aToolbar.tintColor = [UIColor blackColor]; 
    aToolbar.alpha = 0.7;

or

aToolBar.tintColor = [UIColor colorWithRed:0.15 green:0.35 blue:0.45 alpha:0.6];
person Pankaj Kainthla    schedule 16.02.2011
comment
Насколько я знаю, вы правы в том, что сравнивать цвета невозможно, но вы можете передавать объекты UIColor, если они у вас уже есть (см. мой ответ выше). - person makdad; 16.02.2011

Я использовал следующий setBarTintColor, который работал у меня, а setTintColor - нет.

person Girish K Gupta    schedule 10.04.2014

Если вам нужен черный цвет по умолчанию для панели инструментов, чем вы можете использовать

UIToolbar *ta;
[ta setBarStyle:UIBarStyleBlack];
person Robin    schedule 16.02.2011

Используйте только следующий код для этого.. он работает..

toolbar.tintColor = self.navigationController.navigationBar.tintColor;

person dipen chudasama    schedule 15.07.2011