众所周知,可以轻松更改 UITabBarController 中选定(或事件)项目的色调,这里是一个示例:
myBarController.tabBar.tintColor = [UIColor redColor];
在这种情况下,tabBar 中的任何 选项卡栏项目一旦被激活就会呈现红色。同样,这适用于此标签栏中的所有 项目。
同一栏中其他选项卡栏项目的事件色调颜色如何不同?例如,一个项目在被选中时可能呈现红色,而另一个可能呈现蓝色。
我知道这可能可以通过重绘和子类化整个标签栏来解决。然而,这是我唯一需要的改变,而且这样做似乎有点过分了。我不会尝试以任何方式更改样式或项的呈现方式,只是为了使不同项之间的样式不同。
我还没有在任何与 iOS 7 和 8 中的更新相关的地方看到这个问题的任何答案。
最佳答案
有一种更简单的方法可以做到这一点! 将此添加到 ViewController,其中 UITabBar 项目应该是另一种颜色
- (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 颜色 例如:[ 红色 |黑色 |绿色 |粉红色]
关于ios - 仅更改一种特定的 UITabBarItem 色调颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24918215/