1

我的UITabBar. iOS自动将最后 2 个选项卡分组到一个名为“更多”的选项卡中。我为 7 个选项卡设置了导航栏的颜色,viewDidLoad如下所示:

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

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

4

6 回答 6

4

您可以访问self.tabBarController.moreNavigationController以获取用户点击更多选项卡栏项目时出现的导航控制器。现在您可以执行修改和自定义。例如,您可以更改其导航栏的样式。例子:

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

有关如何自定义点击更多标签栏项目时显示的内容的更多信息,请参阅我的书的这一部分:

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

于 2013-03-29T12:43:17.183 回答
1

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

此行更改tintColor导航栏。

根据您的问题,在我(当然还有其他人)看来,您误解UITabBarControllerUINavigationController.

您可以在UITabBarController 此处找到有关自定义的所有信息

于 2013-03-29T12:30:11.490 回答
1

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

 UIColor *navBarColor = [UIColor blackColor];
 [[UINavigationBar appearance] setTintColor:navBarColor];  
 self.navigationController.navigationBar.tintColor = navBarColor;
于 2013-03-29T12:52:10.873 回答
0

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

[[UITabBar appearance] setTintColor:[UIColor blackColor]];
[[UITabBarItem appearance] setTintColor:[UIColor blackColor]];    
于 2013-03-29T12:38:12.347 回答
0

对于 iOS 7 您可以更改导航栏的颜色,设置为非半透明(默认为是)并通过将以下内容添加到 AppDelegate 来更改导航标题的颜色:

UINavigationController *moreController = _tabBarController.moreNavigationController;
moreController.navigationBar.barTintColor = [UIColor orangeColor];
moreController.navigationBar.translucent = NO;
moreController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};
于 2013-10-08T17:31:00.390 回答
0

适用于 iOS 8.0

 self.navigationController.navigationBar.barTintColor = [UIColor blackColor];
于 2015-08-06T16:26:48.547 回答