2015-09-19 2 views
0

У меня есть несколько UINavigationController на протяжении всей раскадровки. Поскольку я использую tabbarcontroller, каждый элемент табуляции имеет свой собственный UINavigationController, встроенный перед его ViewController.iOS Change NavigationBar внешний вид во всем приложении

Я хотел бы создать все это одновременно. То, что я пытался эту работу собираются в ViewWillAppear метод ViewControllers и добавив следующие строки:

UINavigationBar *nav = self.navigationController.navigationBar; 
nav.barStyle = UIBarStyleBlack; 
nav.tintColor = [UIColor blackColor]; 
nav.translucent = NO; 

Но тогда я должен был бы сделать это для каждой вкладки элемента и каждого ViewController.

Кроме того, выполнив следующие действия в AppDelegate не получилось:

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]]; 
[[UINavigationBar appearance] setTranslucent:NO]; 

В частности мне интересно, почему использование внешний прокси-сервер не работает. Я довольно новичок, поэтому, если вы дадите решение с помощью пользовательского UINavigationController или настройте делегата, пожалуйста, уточните. Благодаря!

ответ

2

Добавьте эту строку тоже в вашем коде:

[[UINavigationBar appearance] setBarTintColor:[UIColor blackColor]]; 
+0

Упс! Вот так! спасибо @Nishant! Я сразу же помету вам правильный ответ. Хотя у меня есть вы здесь, как я могу изменить imageRenderingMode TabBarController, если это мой первоначальный контроллер? – user1416564

+0

Спасибо. Вот хороший ответ для этого. http://stackoverflow.com/a/27196023/1463604 Если это не сработает, мне понадобится часть фрагмента кода, которую вы могли бы реализовать. Вы можете добавить к нему новый вопрос и дать мне ссылку на него. – Nishant