众所周知,UITabBarController中所选(或活动)项的色调颜色可以很容易地改变,这是一个例子:
myBarController.tabBar.tintColor = [UIColor redColor];
在这种情况下,tabBar中的任何标签栏项目一旦激活就会有红色.同样,这适用于此标签栏中的所有项目.
如何在同一个栏中的其他标签栏项目之间显示活动色调颜色?例如,一个项目在选中时可能具有红色色调,而另一个项目可能具有蓝色色调.
我知道这可以通过重绘和子类化整个标签栏来解决.然而,这是我需要的唯一改变,这样做似乎有点过头了.我不是试图改变样式或以任何方式呈现项目的方式,只是为了使不同项目之间的风格不同.
我没有看到任何与iOS 7和8中的更新相关的问题的答案.
解决方法
有一个更简单的方法来做到这一点!
将它添加到ViewController中,其中UITabBar Item应该是另一种颜色
将它添加到ViewController中,其中UITabBar Item应该是另一种颜色
- (void) viewWillAppear:(BOOL)animated { // change tint color to red [self.tabBarController.tabBar setTintColor:[UIColor redColor]]; [super viewWillAppear: animated]; }
将其插入其他ViewControllers
- (void) viewWillAppear:(BOOL)animated { // change tint color to black [self.tabBarController.tabBar setTintColor:[UIColor blackColor]]; [super viewWillAppear: animated]; }
我用它来在每个ViewController中获得不同的Tint颜色例如:[红色|黑色|绿色|粉色]