UITabBar未选中图标色调

时间:2013-09-25 21:45:39

标签: objective-c ios7

我正在尝试在取消选中标签时更改标签栏图标的颜色。现在,颜色是默认的灰色,我可以将颜色更改为选择时所需的颜色。

Apple的开发库表示将图像渲染更改为“原始”而不是默认模式“模板”。我做到了然后它说使用initWithTitle:image:selectedImage:我试图这样做,但我认为这是我搞砸了。我在viewcontroller.m文件中写了这个。这有什么不对?

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.
    UIImage *stat = [UIImage imageNamed:@"white_stats.png"];
    stat = [stat imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    (instancetype)initWithTitle:(NSString *)nil image:(UIImage *)stat selectedImage:(UIImage *)stat;

}

1 个答案:

答案 0 :(得分:2)

问题是您在两个地方都使用了UIImage UIImageRenderingModeAlwaysOriginal

您的代码应该类似于

 UIImage *stat = [UIImage imageNamed:@"white_stats.png"];
 UIImage *statAlwaysOriginal = [stat imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
 self.tabBarItem = [[UITabBarItem alloc] initWithTitle:nil image:statAlwaysOriginal selectedImage:stat];

另一件事是你的帖子中有一些实际的语法错误(在UITabBarItem初始化中,但我怀疑你只是错误地粘贴了它。