Objective-C, Обновить панель навигации в представленииWillAppear

По какой-то причине, когда я использую popViewControllerAnimated для возврата к предыдущему виду, оттенок UIBarButtonItem становится серым, а не желаемым фиолетовым цветом (который установлен в раскадровке).

Есть ли способ обновить панель навигации в методе viewWillAppear? Я пытался использовать [self.navigationController loadView];, но это вызывает другие проблемы и препятствует загрузке представления.


person Birrel    schedule 28.06.2014    source источник


Ответы (1)


Вы можете изменить его программно.

-(void)viewWillAppear
{
UIColor *color = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
myNavController.navigationBar.tintColor = color;
}

Используйте http://www.rapidtables.com/web/color/RGB_Color.htm найти цвет.

person jakesan700    schedule 28.06.2014
comment
Нет игральных костей. Пробовал UIColor *color = [UIColor purpleColor]; UINavigationController *myNavController = self.navigationController; myNavController.navigationBar.tintColor = color; и ничего не изменилось. - person Birrel; 29.06.2014
comment
В методе viewWillApear? - person jakesan700; 29.06.2014
comment
да. У меня есть несколько других настроек (инициализаций), которые я обрабатываю тем же методом. Ни те, что касаются внешнего вида, ни те, которые мешают оттенку. Это нечто другое... - person Birrel; 29.06.2014
comment
См. мой код здесь. Я разместил этот вопрос в качестве продолжения вопроса по ссылке, потому что я решил одну из двух проблем в этой конкретной теме. - person Birrel; 29.06.2014
comment
Понятно! См. раздел Edit #2 в эта ветка для решения. Проблема возникла из-за вызова popViewControllerAnimated до завершения загрузки представления. - person Birrel; 29.06.2014