setTintColor:不会立即重绘UIImageView

时间:2017-03-26 06:35:00

标签: ios objective-c

UIImageView中有UICollectionViewCellUIImageView上的图片使用UIImageRenderingModeAlwaysTemplate渲染模式。

当我点击该单元格时,我会更改tintColor的{​​{1}},但我发现UImageView没有立即重绘。但是,当我点击第二个单元格时,第一个一个用UIImageView渲染,而第二个一个没有。

显示 LLDB 中,我发现tintColor已正确设置

如果我在 LLDB 中手动设置tintColor ,则可以正确

enter image description hereenter image description hereenter image description here

1 个答案:

答案 0 :(得分:0)

您需要将屏幕操作代码发送到主队列:

<强>的OBJ-C:

 dispatch_async(dispatch_get_main_queue(), ^{
    // The tint here
  });

斯威夫特3:

 DispatchQueue.main.async {
   // The tint here
 }