使用Xcode更改导航栏色调

时间:2012-02-05 08:02:27

标签: ios uinavigationcontroller tint

我一直在寻找这个网站和其他如何设置导航栏色调变化,我已经看到了示例,但不是我需要的,所以任何帮助将不胜感激。

在我的app委托上我有:

@synthesize window;
@synthesize tabBarController;
@synthesize navigationController;
@synthesize navigationController1;
@synthesize navigationController2;
@synthesize viewController;
@synthesize viewController2;
@synthesize viewController3;

#pragma mark -
#pragma mark Application lifecycle 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:              (NSDictionary *)launchOptions {    

    // Override point for customization after application launch.


    // Set the tab bar controller as the window's root view controller and display.
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];


    return YES;
}

当我在上面输入代码self.navigationController.navigationBar setTintColor:[UIColor blackColor]时,它只会更改我的一个导航控制器,而不会改变我需要的那个。

我的标签栏上有7个项目,当我按下“更多...”时,我得到一个表格视图,其他项目不适合主屏幕,导航栏会自动添加,无论什么我无法更改此导航栏色调,我可以更改@synthesize但不能自动输入的那些。

有人可以告诉我如何更改自动放置的导航栏吗?

2 个答案:

答案 0 :(得分:17)

您可以使用外观代理执行此操作。如果您设置这样的颜色,它将应用于应用程序中的每个导航栏:

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

答案 1 :(得分:3)

对于iOS 6及更低版本:

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

对于iOS 7及更高版本:

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

在AppDelegate中的此方法中设置它。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions