如果我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/

10-10 23:25