在没有xib文件的情况下更改标签栏颜色

时间:2013-10-25 19:58:38

标签: ios objective-c uitabbarcontroller

我在更改标签栏颜色时遇到了麻烦,因为我没有使用xib文件,不知何故我的代码结构根本没有帮助我,告诉我是否需要重写整个事情从头开始然而我会非常感激,如果我没有必要^ _ ^

这是我的单个视图应用程序的appDelegate文件,在这里我创建了一个标签栏,其中有一个与每个标签相关联的导航栏,然后显示它们

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];

self.firstTab = [[FirstTab alloc] initWithNibName:nil bundle:NULL];
self.firstNavigationController = [[UINavigationController alloc] initWithRootViewController:self.firstTab];
self.thirdTab = [[ThirdTab alloc] initWithNibName:nil bundle:NULL];
self.thirdNavigationController = [[UINavigationController alloc] initWithRootViewController:self.thirdTab];
self.tab2 = [[newsecViewController alloc] initWithNibName:@"newsecViewController" bundle:NULL];
self.tab2NavigationController = [[UINavigationController alloc] initWithRootViewController:self.tab2];
self.tab2.view.backgroundColor = [UIColor purpleColor];



//NSArray *tabs = [[NSArray alloc] initWithObjects:self.firstTab, self.secondTab, self.thirdTab, nil];
NSArray *tabBars = [[NSArray alloc] initWithObjects:self.firstNavigationController, self.tab2NavigationController, self.thirdNavigationController, nil];
self.tabBarController = [[UITabBarController alloc] init];
[self.tabBarController setViewControllers:tabBars];
[self.window addSubview:self.tabBarController.view];

这是我的某个标签

的代码示例
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if(self != nil) {
    self.title = @"Second";
    self.tabBarItem.image = [UIImage imageNamed:@"triangle.png"];

}
return self;

感谢所有人的帮助......

2 个答案:

答案 0 :(得分:1)

使用tabbar的tintColor属性。它在iOS 5.0及更高版本中可用。

[tabBarController.tabBar setTintColor:[UIColor purpleColor]];

答案 1 :(得分:1)

从iOS 7开始,设置UINavigationBarUITabBar的颜色时,请使用barTintColor属性。

[self.tabBarController.tabBar setBarTintColor:[UIColor purpleColor]];