Различные оттенки навигационной панели внутри одного контроллера навигации? - PullRequest
0 голосов
/ 24 июня 2010

Мое приложение имеет контроллер вида навигации с 2 видами:
- Корневой вид. Мне бы хотелось, чтобы цвет оттенка для его панели навигации был черным.
- вспомогательный вид: я хотел бы, чтобы оттенок его навигационной панели был синим

Чтобы добиться этого, я установил цвет оттенка для панели навигации в методе viewDidLoad каждого контроллера представления: self.navigationController.navigationBar.tintColor = [UIColor blackColor];

Моя проблема в том, что во время тестов:
- шаг 1 - я получаю доступ к корневому представлению: панель навигации черная: ОК
- шаг 2 - я нажимаю на подпредставление: панель навигации синего цвета: ОК
- шаг 3 - я нажимаю кнопку «назад» подпредставления: навигация остается синей: KO

Есть ли какой-нибудь код добавления, который я должен добавить, чтобы получить желаемое поведение? (я пробовал некоторые грязные обходные пути, такие как вызов drawRect в viewWillAppear, но он не работает)

Спасибо за вашу помощь!

Ответы [ 2 ]

2 голосов
/ 24 июня 2010

Вы должны быть в состоянии сделать self.navigationController.navigationBar.tintColor = [UIColor blackColor]; в viewWillAppear или viewDidAppear

0 голосов
/ 24 июня 2010

Причина в том, что навигационный контроллер используется совместно. Таким образом, когда вы меняете его цвет на синий, вы должны изменить его обратно на черный.

Лучший способ, как сказал Эльфред, вы должны сделать это с помощью viewWillAppear

...