SwiftUI 如何修改List的swipeAction滑动操作中Image的颜色
结论
仅使用iOS 15及以上版本提供的原生swipeAction修饰符,无法实现滑动操作按钮内的图片自定义颜色修改。
原因说明
原生swipeAction的按钮样式由系统统一管控:
- 按钮的图标、文字颜色会自动匹配你设置的
tint背景色的对比度,没有提供单独修改图标颜色的公开API - 背景色为深色时,系统强制将图标、文字渲染为白色;背景色为浅色时,强制渲染为黑色,所有自定义的颜色修饰符都会被系统覆写
已验证的无效方案(和你尝试的结果一致)
- 给
Image设置.renderingMode(.template)后添加.foregroundColor修饰符 - 直接给
swipeActions内的Button添加.foregroundColor修饰符 - 插入自定义渲染模式的本地图片资源
补充说明
如果必须要自定义图标颜色,只能通过自定义列表拖动手势、自行实现滑动交互的方案完成,无法依赖原生swipeAction实现该需求。
内容的提问来源于stack exchange,提问作者Alessandro Pace
相关产品推荐
相关产品推荐

