选项卡项目着色

6
在iOS 7中,我正在开发一个使用UITabBarController的应用程序,并且我注意到即使我更改了选项卡栏的色调颜色,选项卡项目仍保持灰色。是否有办法更改非选定选项卡项目的颜色?

1
这个教程可能对你有用:https://www.captechconsulting.com/blog/steven-beyers/ios-7-tutorial-series-tint-color-and-easy-app-theming - Robert
1
上面的链接无法使用。@roher。 - Arpit B Parekh
3个回答

6

要在应用程序全局设置色彩,您需要在应用程序delegate didFinishLaunchingWithOptions: method中添加以下代码:

[[UITabBar appearance] setTintColor:[UIColor colorWithRed:13.0/255.0 green:116.0/255.0 blue:128.0/255.0 alpha:1.0]];

1
请考虑编辑您的答案,包括解释您的代码如何工作。 - Matt

6

要完成这个任务,可以采用简单的方法:

  1. 根据需要更改 tintColor

  2. 新增一组未选中项目的图像,并以原始模式渲染它们。

如需更多信息,请参阅此链接


将正确的彩色图像放入解决方案中,并将renderMode设置为original即可解决问题。 - Arpit B Parekh

0

更改tabBar.tintColor属性是正确的方法,但为了使其起作用,我们需要告诉iOS忽略TabBarItemUIImage的颜色属性。 因此,请在您自定义的TabBarViewControllerviewDidLoad()中编写此代码。

for item in self.tabBar.items ?? [] {
    item.selectedImage = item.selectedImage?.withRenderingMode(.alwaysTemplate)
    item.image = item.image?.withRenderingMode(.alwaysTemplate)
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接