我有一个滑动动作可以“完成”待办事项列表应用程序中的任务。这是我设置的图像:
但是,当滑动单元格时,图像如下所示:
有没有一种方法可以使背景透明/白色,并且图像具有与上图一样的绿色圆圈?
如果没有,是否有办法使绿色背景“包裹”到单元格的紫色,从而没有空格? 谢谢!
答案 0 :(得分:3)
在第二个图像中,绿色是UIContextualAction的None
,白色是backgroundColor
。
将图像视为模板图像-即忽略其颜色,而是在图像透明的情况下将其绘制为透明,而在图像不透明的情况下使用tintColor
将其绘制为不透明。
因此,基本上,您需要颠倒设置:将背景色设置为白色,并将色调颜色更改为图像中显示的深绿色。设置色彩颜色并不容易,但是您可以按照建议here使用外观代理在应用程序委托tintColor
中进行设置(尽管这可能会产生其他不良影响):< / p>
didFinishLaunching
答案 1 :(得分:1)
In提出了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))
}
}
}
按以下方式使用时,它将以新颜色返回一个新图标:
swipAction.image = UIImage(named: "myImage")?.colored(in: .white)
也许这可以帮助某人。
答案 2 :(得分:0)
在带有SF Symbol的iOS 13中,只需使用UIImageRenderingModeAlwaysOriginal即可更改符号颜色。
function getLinkAndTitle(title, link) {
sessionStorage.setItem("title", title);
sessionStorage.setItem("link", link);
location.reload();
}