如何根据TabBar选择的索引设置色调颜色?

时间:2014-02-06 17:21:06

标签: ios tabbar

我想根据tabbar的选定索引更改tintColor属性。我现在使用的代码不起作用,所有tabbar视图都有这个代码:

- (void)viewDidAppear:(BOOL)animated{

    switch (self.tabBarController.selectedIndex) {
        case 0:
            self.tabBarController.tintColor = [UIColor colorWithRed:147/255 green:22/255 blue:0/255 alpha:1.0];
            break;

        case 1:
            self.tabBarController.tintColor = [UIColor whiteColor];
            break;

        case 2:
            self.tabBarController.tintColor = [UIColor greenColor];
            break;

        default:
            break;
    }
}

2 个答案:

答案 0 :(得分:2)

你不需要这样做;相反,将它放在所包含的控制器的viewWillAppear:方法中:

控制器1:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.tabBarController.tabBar.tintColor = [UIColor blueColor];
}

控制器2:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.tabBarController.tabBar.tintColor = [UIColor yellowColor];
}

这假设是iOS5 +。希望这会有所帮助。

答案 1 :(得分:0)

而不是

self.tabBarController.tintColor

使用:

self.tabBarController.tabBar.tintColor