*.png 图像在 UIButton 中更改其颜色

*.png image changes its color in UIButton

我想在 UIButton 中设置图像。它有橙色。然后我这样插入:

[cell.playButton setImage:[UIImage imageNamed:@"Oval 135 Copy + Triangle 1 Copy.png"] forState:UIControlStateNormal];

当我启动我的应用程序时,此图像会改变颜色,这怎么可能以及如何解决这个问题?我添加模拟器图片和照片:

您是否使用 [UIButton buttonWithType:UIButtonTypeCustom] 创建了按钮?如果是这样,该按钮将自动尝试使用按钮的 tintColor 值对您的图像进行着色。

如果您想选择退出此行为,您可以这样做:

UIImage *image = [UIImage imageNamed:@"Oval 135 Copy + Triangle 1 Copy.png"];
UIImage *originalImage = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[cell.playButton setImage:originalImage forState:UIControlStateNormal];

或者,您也可以使用 [UIButton buttonWithType:UIButtonTypeCustom] 创建按钮,但其行为会略有不同,因此请选择最适合您的选项。