You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift UITableView trailingSwipeActions配置中图标显示全白如何解决

问题原因

UIContextualAction 默认会自动将传入的图片转为模板渲染模式,系统会统一给模板图标应用白色 tint 色,直接覆盖原图的所有颜色信息,该表现和编辑样式属性无关。

解决方法

有两种方案可选,任选其一即可:

  • 方案1:代码层面指定图片渲染模式
    给你的图片调用withRenderingMode(.alwaysOriginal)方法,强制使用原图色彩,修改对应代码行即可:
    // 原代码
    // deleteAction.image = UIImage(named:"trash-can")
    // 修改为
    deleteAction.image = UIImage(named:"trash-can")?.withRenderingMode(.alwaysOriginal)
    
  • 方案2:Assets 资源配置层面修改
    打开项目的 Assets.xcassets,选中trash-can图片,在右侧属性检查器找到「Render As」选项,将默认的「Default」修改为「Original Image」,该配置全局生效,后续所有使用这张图的地方都不会被自动转为模板模式。

修改完成后重新运行项目即可看到图标显示为原图的红色。

内容的提问来源于stack exchange,提问作者user7684436

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 22:45:10