【问题标题】:ios - change navigation bar tint color of 'More' tabios - 更改“更多”选项卡的导航栏色调颜色
【发布时间】:2013-03-29 12:23:03
【问题描述】:

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

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

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

【问题讨论】:

  • 导航栏中怎么会有标签页? “标签”听起来像是标签栏中的东西。
  • @matt 是的,它是一个标签栏。感谢编辑。
  • @pratik 我想把它设置为黑色
  • 如果是标签栏,那你的代码为什么会提到navigationBar
  • @matt 它涉及标签栏和导航栏。

标签: ios colors navigation


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    此行更改导航栏的tintColor

    根据您的问题,在我(当然还有其他人)看来,您将UITabBarController 误解为UINavigationController

    你可以找到所有关于自定义UITabBarControllerhere的信息

    【讨论】:

    • 不,我想更改顶部导航栏的颜色。但我的标签栏中有 7 个标签。我已经编辑了问题。
    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          【解决方案6】:

          适用于 iOS 8.0

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2022-12-05
            • 2017-02-17
            • 1970-01-01
            • 1970-01-01
            • 2020-11-11
            • 2018-02-06
            相关资源
            最近更新 更多