ios - 更改“更多”的导航栏色调颜色'标签

时间:2013-03-29 12:23:04

标签: ios colors navigation

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

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

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

6 个答案:

答案 0 :(得分:3)

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

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

有关如何自定义点击“更多”标签栏项目时显示内容的详细信息,请参阅本书的以下部分:

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

答案 1 :(得分:1)

  

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

此行会更改导航栏的tintColor

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

您可以找到有关自定义UITabBarController here

的所有信息

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

for ios 8.0

var myApp = angular.module('myApp', []);

myApp.factory('parseText', function () {

    var parse = function(val){
        //you could have parsing logic here over your variable
        return val + " something";
    }
    return {
        parse: parse
    }
});

myApp.controller('MyCtrl', MyCtrl)

function MyCtrl($scope, parseText) {
    $scope.parseText = parseText;
    $scope.lines = [{
        text: 'res1'
    }, {
        text: 'res2'
    }];
};