ios – 仅更改一个特定的UITabBarItem色调

前端之家收集整理的这篇文章主要介绍了ios – 仅更改一个特定的UITabBarItem色调前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
众所周知,UITabBarController中所选(或活动)项的色调颜色可以很容易地改变,这是一个例子:
myBarController.tabBar.tintColor = [UIColor redColor];

在这种情况下,tabBar中的任何标签栏项目一旦激活就会有红色.同样,这适用于此标签栏中的所有项目.

如何在同一个栏中的其他标签栏项目之间显示活动色调颜色?例如,一个项目在选中时可能具有红色色调,而另一个项目可能具有蓝色色调.

我知道这可以通过重绘和子类化整个标签栏来解决.然而,这是我需要的唯一改变,这样做似乎有点过头了.我不是试图改变样式或以任何方式呈现项目的方式,只是为了使不同项目之间的风格不同.

我没有看到任何与iOS 7和8中的更新相关的问题的答案.

解决方法

有一个更简单的方法来做到这一点!
将它添加到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颜色例如:[红色|黑色|绿色|粉色]

猜你在找的iOS相关文章