ios - 仅更改一种特定的 UITabBarItem 色调颜色

标签 ios ios7 ios8 uitabbaritem

众所周知,可以轻松更改 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/

相关文章:

ios - 将企业 iOS 应用程序从一个 MAM 移动到另一个 - 无需卸载?

ios - 在导入 Swift header 的桥接 header 中导入文件

ios - 有没有办法使用 objective-c 访问 iOS 中的 "time since last full charge"值?

ios - UIActionSheet不阻止外部触摸, "under"

ios - 模拟器在第二次运行时显示黑屏

xcode - 在 Swift 中设计计算器 - 如何在需要输入 float 时添加单个 "."?

ios - 如何让 UITextView 检测主题标签?

ios - iOS7 相机拍照模式全屏

objective-c - UISegmentedControl setImage : Bug in iOS7

ios - 如何在 ios 中获取 YTPlayer 完成按钮状态?