2013-09-03 2 views
2
MyVC *vc = [[MyVC alloc] init]; 
vc.delegate = self; 

UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:vc]; 
[nc.navigationBar setTintColor:[UIColor redColor]]; 
[self presentViewController:nc animated:true completion:^{}]; 

Навигационная панель черная. Я представляю это из контроллера навигации внутри контроллера панели вкладок, который создается в приложении App Delegate. В моем приложении ApplicationDidFinishLaunchingWithOptions я могу контролировать цвет навигационных контроллеров.Представлен цвет оттенка UINavigationController не меняется

Почему этот навигационный контроллер оттенка черный?

ответ

0
[[UINavigationBar appearance] setTintColor:[UIColor redColor]]; 

Я предлагаю вам использовать это, если все ваши навигационные панели одного цвета. Внешний вид свойство однородности объектов на функции, которую вы применяете к ней.

+0

Я попробовал. Я снова сделаю снимок и удалю все остальные оттенки. – quantumpotato

0
  • Вы можете попробовать сделать пользовательский класс для UINavigationBar

.h

@interface CustomUINavigationBar : UINavigationBar { 

} 

@end 

.m

@implementation CustomUINavigationBar 

- (void)drawRect:(CGRect)rect { 

    UIColor *color = [UIColor colorWithRed:0.023 green:0.14 blue:0.478 alpha:1];// for example 
    self.tintColor = color; 

} 

@end 

Также вы можете попробовать, чтобы вставить код, приведенный ниже в didFinishLaunchingWithOptions: of AppDelegate.m

[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]]; 
0

В iOS7 вы должны использовать barTintColor свойству

[nc.navigationBar setBarTintColor:[UIColor redColor]]; 

вместо

[nc.navigationBar setTintColor:[UIColor redColor]]; 
Смежные вопросы