如何将覆盖层添加到 UIImageView 但不在图像的透明部分?
Posted
技术标签:
【中文标题】如何将覆盖层添加到 UIImageView 但不在图像的透明部分?【英文标题】:How to add an overlay layer to a UIImageView but not on the transparent part of the image? 【发布时间】:2017-08-18 17:43:32 【问题描述】:我有这个UIImageView
:
self.princessImageView.image = UIImage(named: "princess")!
现在我正在尝试在此图像上添加一个 alpha 为 0.3 的彩色图层。我试过这个:
let overlayView: UIView = UIView(frame: CGRect(x: 0,
y: 0,
width: self.princessImageView.frame.size.width,
height: self.princessImageView.frame.size.height))
overlayView.backgroundColor = UIColor.blue.withAlphaComponent(0.3)
self.princessImageView.addSubview(overlayView)
但我得到了这个结果。
我明白这当然是因为我在整个视图上设置了叠加层。有什么办法可以让我只在图像的非透明部分设置叠加层?
感谢您的帮助。
【问题讨论】:
【参考方案1】:您需要为此使用混合模式。
苹果文档:link
一些可能有帮助的相关内容:link1 link2
【讨论】:
感谢您的回复!可以使用此解决方案:***.com/a/42353385/2885727以上是关于如何将覆盖层添加到 UIImageView 但不在图像的透明部分?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中使用色调和一些文本向 UIImageView 添加叠加层?