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

ios – 为什么带有UIButton的UICollectionViewCell具有单色彩色图像?,第1张

概述我创建一个UICollectionView并添加一个单独的单元格,其中唯一的子视图是UIButton.该按钮具有标题和图像集.我已经验证了调试器中的图像数据是否正确. 当在屏幕上绘制按钮时,我看到文本和图像,但是图像看起来好像已经填充了色调颜色,遮挡了除了其形状之外的所有图像. 我在这里错过了什么才能将它显示为普通按钮? 更新 事实证明,这不是UICollectionView特有的,而是iOS7中 我创建一个UICollectionVIEw并添加一个单独的单元格,其中唯一的子视图是UIbutton.该按钮具有标题和图像集.我已经验证了调试器中的图像数据是否正确.

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

我在这里错过了什么才能将它显示为普通按钮?

更新

事实证明,这不是UICollectionVIEw特有的,而是iOS7中的所有UIbuttons.

iOS 7使按钮中的所有图像都像模板图像一样使用图像的Alpha通道与色调颜色一起生成图像(非常类似于标签栏中的图像).在UIImage上有一个新的renderingMode属性,默认为“自动”,允许上下文决定(这是按钮的模板样式)

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

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具有单色/彩色图像?全部内容,希望文章能够帮你解决ios – 为什么带有UIButton的UICollectionViewCell具有单色/彩色图像?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存