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 中,我可以在那里控制导航控制器的颜色。

为什么这个导航控制器色调条是黑色的?

4

3 回答 3

0

iOS7你必须使用barTintColor属性

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

代替

[nc.navigationBar setTintColor:[UIColor redColor]];
于 2014-08-12T22:12:59.753 回答
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

您也可以尝试在 AppDelegate.m 的 didFinishLaunchingWithOptions: 中插入以下代码

[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
于 2013-10-23T08:45:39.633 回答
0
[[UINavigationBar appearance] setTintColor:[UIColor redColor]];

如果您所有的 NavigationBars 都是相同的颜色,我建议您使用它。对象的外观属性设置了您在其上应用的功能的一致性。

于 2013-09-03T17:00:25.010 回答