Wil*_*lor 2 uitableview ios swift uiswipeactionsconfiguration
我有一个滑动操作来“完成”我的待办事项列表应用程序中的任务。这是我设置的图像:
但是,当滑动单元格时,图像如下所示:
有没有办法使背景透明/白色和图像具有如上图所示的绿色圆圈?
如果没有,有没有办法让绿色背景“包裹”到单元格的紫色,这样就没有空格了?谢谢!
小智 8
为 UIImage 提出了这个扩展:
extension UIImage {
func colored(in color: UIColor) -> UIImage {
let renderer = UIGraphicsImageRenderer(size: size)
return renderer.image { context in
color.set()
self.withRenderingMode(.alwaysTemplate).draw(in: CGRect(origin: .zero, size: size))
}
}
}
Run Code Online (Sandbox Code Playgroud)
像这样使用时,它会返回一个新颜色的新图标:
swipAction.image = UIImage(named: "myImage")?.colored(in: .white)
Run Code Online (Sandbox Code Playgroud)
也许这对某人有帮助。
在第二张图片中,绿色是 UIContextualAction 的backgroundColor,白色是tintColor.
该图像被视为模板图像 - 也就是说,它的颜色被忽略,而是在图像透明的地方绘制透明,并tintColor在图像不透明的地方绘制不透明。
因此,基本上您需要反转设置:将背景颜色设置为白色并将色调颜色更改为图像中显示的深绿色。设置色调颜色是不容易的,但你可以做到这一点,例如,在你的应用程序代理didFinishLaunching使用代理外观,如建议在这里(虽然这可能有其他有害的副作用):
UIImageView.appearance(
whenContainedInInstancesOf: [UITableView.self])
.tintColor = // whatever that green is
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1358 次 |
| 最近记录: |