摆脱 UITableViewCell 中 UIButton 上的 imageView 色调

Posted

技术标签:

【中文标题】摆脱 UITableViewCell 中 UIButton 上的 imageView 色调【英文标题】:Getting rid of imageView tint on UIButton in UITableViewCell 【发布时间】:2016-02-01 22:28:19 【问题描述】:

我的应用中有几个使用图片的按钮。

对于在 Interface Builder 中设置的按钮,我在属性检查器中设置了图像。如我所愿,它显示没有色调。我检查了用于在界面生成器中设置图像的方法是UIButton setImage:forState:

现在,如果我尝试将cellForRowAtIndexPath 中的按钮图像设置为UITableViewController,则图像上会出现色调。

// This puts a tint over the button
customCell.myButton.setImage(buttonImage, forState: .Normal)

作为一种解决方法,我在按钮后面扔了一个UIImageView,但是当我为按钮设置动画时,imageView 不会移动,我觉得这很烦人。

我也试过这个:

// This results in a blank image on the button
customCell.myButton.imageView?.contentMode = .ScaleAspectFit
customCell.myButton.imageView?.image = buttonImage

如果有人对我做错了什么有任何建议,我欢迎您的意见。

【问题讨论】:

【参考方案1】:

原来imageWithRenderingMode 解决了这个问题。

创建并返回具有指定渲染模式的新图像对象。 具有指定渲染模式的新图像对象。

我需要使用AlwaysOriginal 案例:

始终绘制原始图像,而不将其视为模板。

    let buttonImage = UIImage(named: buttonImageName)?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)

【讨论】:

以上是关于摆脱 UITableViewCell 中 UIButton 上的 imageView 色调的主要内容,如果未能解决你的问题,请参考以下文章

动态添加和删除 UITableViewCells 到 UITableView

删除 UITableViewCell 上的填充

为 UITableViewCell 上的特定按钮删除 UIButton 事件的链接

UITableViewCell 曲线异常-左侧。这是啥原因造成的?包含图片

TVOS UITableViewCell _UIFloatingContentView 它是啥以及为啥?

在 iOS 中隐藏标签而不破坏视图