我正在尝试设置作为自定义 UITableViewCell 类的一部分的 UIButton 的图像以显示图像。图像从用于管理图像下载和缓存的自定义 UIImageView 类加载。将图像分配给按钮的方法包含在自定义 UIImageView 的委托方法中,该方法在图像完成加载时调用:
UIImage *image = [[UIImage alloc] init];
image = ((LKCCachedImageView *)self.images[arrayIndex]).image;
[(UIButton *)self.buttons[arrayIndex] setBackgroundImage:image forState:UIControlStateNormal];
这适用于模拟器,但不适用于实际设备。
我过去在委托方法中更新 UI 时遇到了一些问题,因为有些问题不在主线程上,但在主线程上执行setBackgroundImage
使用dispatch_async
并不会改变结果。
另外,如果我更改setBackgroundImage
为setImage
按钮上显示的图像只是一个蓝色方块。我不确定如何看待这种行为,而且我还没有看到任何人和我一模一样的东西。
谢谢,
埃里克