gpt4 book ai didi

ios - 为什么带有 UIButton 的 UICollectionViewCell 具有单色/彩色图像?

转载 作者:可可西里 更新时间:2023-11-01 03:21:22 29 4
gpt4 key购买 nike

我创建了一个 UICollectionView 并添加了一个只有 subview 是 UIButton 的单元格。该按钮具有其标题和图像集。我已经验证图像数据在调试器中是正确的。

当按钮在屏幕上绘制时,我看到了文本和图像,但是图像看起来好像已经填充了色调颜色,遮住了除形状以外的所有图像。

我在这里缺少什么才能像普通按钮那样显示?

更新

事实证明,这并非特定于 UICollectionView,而是 iOS7 中的所有 UIButton。

iOS 7 使按钮中的所有图像都作为模板图像使用图像的 alpha channel 与色调颜色一致来生成图像(很像标签栏中的图像)。 UIImage 上有一个新的 renderingMode 属性,默认为“自动”,让上下文决定(这是按钮的模板样式)

这可以使用新的 imageWithRenderingMode 来规避: UIImage 上的方法:

UIImage* myImage = [UIImage imageNamed:@"Foo.png"];
myImage = [myImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[button setImage:myImage forState:UIControlStateNormal];

最佳答案

避免这种情况的最简单方法是使用不同的 UIButtonType。 IOS 7 上的 UIButtonTypeSystem 具有此行为,因此您可以改用自定义按钮:

UIButton *button = [UIButton buttonWithType: UIButtonTypeCustom];
[button setImage:myImage forState:UIControlStateNormal];

关于ios - 为什么带有 UIButton 的 UICollectionViewCell 具有单色/彩色图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18983579/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com