6

我一直在查看此站点以及其他如何设置导航栏色调更改的内容,我已经看到了示例,但并不是我所需要的,因此我们将不胜感激。

在我的应用程序委托上,我有:

@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,但不能改变自动输入的。

有人可以让我知道如何更改自动放置的导航栏吗?

4

2 回答 2

17

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

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]];
于 2012-02-05T13:02:41.627 回答
3

对于 iOS 6 及更低版本:

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

对于 iOS 7 及更高版本:

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

在 AppDelegate 的这个方法中设置它。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
于 2013-12-18T13:11:09.290 回答