如果我self.tabBar.tintColor = [UIColor whiteColor];
我设法将所选标签栏的图像设为白色。
如何将未选中的标签栏图像设为黑色或深灰色或红色?
答案 0 :(得分:1)
你可以使用这样的东西。这行代码的线索是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