2013-03-29 68 views
0

我在我的UITabBar中有7个选项卡。 iOS自动将最后2个选项卡分组到一个名为“More”的选项卡中。我已经确定了7个标签导航栏色调颜色viewDidLoad如下:ios - 更改导航栏色彩的“更多”选项卡

self.navigationController.navigationBar.tintColor = [UIColor blackColor]; 

如何设置导航栏的自动生成的“更多”选项卡中的颜色吗?

+0

哪有标签在导航栏? “标签”听起来像是标签栏中的东西。 – matt

+0

@matt是的,这是一个标签栏。感谢您的编辑。 – Mika

+0

@pratik我想将它设置为黑色 – Mika

回答

3

您可以访问self.tabBarController.moreNavigationController获得当更多的标签栏项目是由用户点击显示的导航控制器。现在您可以执行修改和自定义。例如,您可以更改其导航栏的样式。例如:

UINavigationController* more = self.tabBarController.moreNavigationController; 
more.navigationBar.barStyle = UIBarStyleBlack; 

欲了解更多有关如何自定义当更多标签栏项目被窃听内容显示,看我的书的这一部分:

http://www.apeth.com/iOSBook/ch25.html#_uitabbar

+0

是的,这个工程!谢谢! – Mika

1

self.navigationController.navigationBar.tintColor = [UIColor blackColor];

此行更改导航栏的tintColor

从你的问题,在我看来(和其他人当然),你误解了UITabBarControllerUINavigationController

您可以了解更多关于自定义UITabBarControllerhere

+0

不,我想更改顶部导航栏的颜色。但我的标签栏中有7个选项卡。我编辑了这个问题。 – Mika

0

尝试外观(可能在应用程序的委托didfinishlaunchingwithoptions)的信息。

[[UITabBar appearance] setTintColor:[UIColor blackColor]]; 
[[UITabBarItem appearance] setTintColor:[UIColor blackColor]];  
1

您需要更改的UINavigationController的颜色在AppDelegate.m

UIColor *navBarColor = [UIColor blackColor]; 
[[UINavigationBar appearance] setTintColor:navBarColor]; 
self.navigationController.navigationBar.tintColor = navBarColor; 
0

对于iOS 7,您可以更改导航栏,设置为不透光的颜色(是默认情况下),并更改colou导航标题[R通过添加以下到AppDelegate中:

UINavigationController *moreController = _tabBarController.moreNavigationController; 
moreController.navigationBar.barTintColor = [UIColor orangeColor]; 
moreController.navigationBar.translucent = NO; 
moreController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; 
0

适用于iOS 8.0

self.navigationController.navigationBar.barTintColor = [UIColor blackColor]; 
相关问题