UITableView单元格中的图像不符合tintColor

时间:2014-09-15 13:20:25

标签: ios objective-c uitableview tintcolor

我有一个UITableView,它由静态单元格组成。在IB中,我将每个UITableViewCell的风格设置为" Basic"并设置图像(见截图)。我的导航栏中的按钮符合tintColor属性,但tableview中的图像不符合tintColor属性。到目前为止,我已经在IB中完成了所有工作 - 如果我希望图像也支持{{1}}属性,我是否 使用代码?

由于

enter image description here

4 个答案:

答案 0 :(得分:9)

每个UIImageView在iOS7 +上都有属性tintColor

尝试在故事板imageView.image.renderingMode中将单元格的UIImageRenderingModeAlwaysTemplate设置为User Defined Runtime Attributes

答案 1 :(得分:8)

在这么多版本之后,这个问题真是令人头疼!唯一可靠的解决办法,假设一切都是“正确的”(模板图像等)是UIImageView的子类化并用此覆盖didMoveToSuperview ......

- (void)didMoveToSuperview
{
    [self setHighlighted:YES];
    [self setHighlighted:NO];
    [super didMoveToSuperview];
}

这是一个黑客但它有效。

答案 2 :(得分:2)

以下是一个例子:

UIImage *image = [[UIImage imageNamed:@"ic_email_white"]
                  imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[[cell imageView] setImage:image];
[[cell imageView] setTintColor:[UIColor redColor]];

答案 3 :(得分:0)

以下设置对我来说效果很好。

在情节提要中,将单元格的contentView tintColor设置为所需的颜色,并将UIImagview的{​​{1}}设置为tintColor