首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改Tableview的UIContextualAction的图像色调颜色?

如何更改Tableview的UIContextualAction的图像色调颜色?
EN

Stack Overflow用户
提问于 2019-11-20 23:06:18
回答 2查看 1.7K关注 0票数 4

在那里,我想改变图像的色调颜色,但无法改变,它总是返回白色。我已经尝试了原始图像和模板图像的Rendring图像,但仍然不起作用。

我在下面添加了屏幕截图:

请,任何人都可以帮助我

代码语言:javascript
复制
public func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {

    guard let cell = tableView.cellForRow(at: indexPath) as? DocumentListCell else {return UISwipeActionsConfiguration()}
    let likeAction = UIContextualAction(style: .normal, title:  "", handler: { (ac:UIContextualAction, view:UIView, success:(Bool) -> Void) in
        print("likeAction ...")
        success(true)

    })

    likeAction.image = #imageLiteral(resourceName: "Favourite_Selected")
    likeAction.backgroundColor = UIColor.init(red: 239/255, green: 239/255, blue: 239/255, alpha: 1)

    let downloadAction = UIContextualAction(style: .normal, title:  "", handler: { (ac:UIContextualAction, view:UIView, success:(Bool) -> Void) in
        print("Trash action ...")
    })
    downloadAction.backgroundColor = UIColor.red//UIColor.init(red: 239/255, green: 239/255, blue: 239/255, alpha: 1)
    downloadAction.image = #imageLiteral(resourceName: "Doc_Download_Big")

    return UISwipeActionsConfiguration(actions: [likeAction,downloadAction])
}
EN

回答 2

Stack Overflow用户

发布于 2019-11-20 23:30:12

  1. 只需转到Assets.xcassets,选择所需的图像。

Render As替换为您需要的:

加法

您还可以尝试以下几种方法:

tableView中的

  1. 更改UIImageView本身的设置

代码语言:javascript
复制
UIImageView.appearance(whenContainedInInstancesOf: [UITableView.self]).tintColor = UIColor.init(red: 239/255, green: 239/255, blue: 239/255, alpha: 1)

  1. 尝试在UIImage

上使用扩展

代码语言:javascript
复制
extension UIImage {
    
    func paintOver(with color: UIColor) -> UIImage {
        let renderer = UIGraphicsImageRenderer(size: size)
        let renderedImage = renderer.image { _ in
            color.set()
            self.withRenderingMode(.alwaysTemplate).draw(in: CGRect(origin: .zero, size: size))
        }
        
        return renderedImage
    }
}

使用方法:

代码语言:javascript
复制
likeAction.image = UIImage(named: "Favourite_Selected")?.colored(in: .red)

希望这篇文章能帮到你!

票数 3
EN

Stack Overflow用户

发布于 2019-12-15 02:59:40

要更改图像颜色,必须将背景颜色设置为alpha零。

就像下面这行:

likeAction.backgroundColor =UIColor.init(红色: 239/255,绿色: 239/255,蓝色: 239/255,alpha: 0)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58957481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档