如果我self.tabBar.tintColor = [UIColor whiteColor];
我设法使所选标签栏的图像为白色。
如何获得未选中的选项卡栏的图像为黑色,深灰色或红色?
最佳答案
您可以使用类似这样的东西。这行代码的线索是UIImageRenderingModeAlwaysOriginal
。这意味着代码正在显示原始图像。如果图像为红色,图标将为红色,如果图像为蓝色,则图标将为蓝色。
在每个ViewController
的第一个TabBarItem
中添加此代码
- (void)viewDidLoad
{
[super viewDidLoad];
self.tabBarItem.image = [[UIImage imageNamed:@"yourImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.tabBarItem.selectedImage = [[UIImage imageNamed:@"yourImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
...
{
现在,您不再需要
self.tabBar.tintColor = [UIColor whiteColor];
。Apple文档的渲染模式:
UIImageRenderingModeAutomatic, // Use the default rendering mode for the context where the image is used
UIImageRenderingModeAlwaysOriginal, // Always draw the original image, without treating it as a template
UIImageRenderingModeAlwaysTemplate, // Always draw the image as a template image, ignoring its color information
检查以下答案:stackoverflow.com/a/22766669/1381708
关于ios - 如何在tabBar中更改未选择图片的色调颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22485184/