Ios 如何将覆盖层添加到UIImageView,而不是图像的透明部分?

Ios 如何将覆盖层添加到UIImageView,而不是图像的透明部分?,ios,uiimageview,layer,Ios,Uiimageview,Layer,我有这个UIImageView: self.princessImageView.image = UIImage(named: "princess")! 现在我尝试在这张图片上添加一个alpha值为0.3的彩色图层。我试过这个: let overlayView: UIView = UIView(frame: CGRect(x: 0, y: 0,

我有这个
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)
但我得到了这个结果

我明白这当然是因为我在整个视图上设置了一个覆盖。有没有办法只在图像的非透明部分设置覆盖


谢谢您的帮助。

为此,您需要使用混合模式

苹果文档:

一些相关的东西可能会有所帮助:

谢谢您的回复!让它与此解决方案一起工作: