我有一个模糊的UIVisualEffectView,想用PNG UIImage掩盖它。
我现在有这个代码,但是如果我应用了蒙版,那么视图就不会再应用模糊效果了。
let maskLayer = CAShapeLayer()
maskLayer.contents = UIImage(named: "botnavbarmask")?.cgImage
let maskView = UIView(frame: self.view.frame)
maskView.backgroundColor = UIColor.black
maskView.layer.mask = maskLayer
blurBottom.mask = maskView
是否可以将遮罩应用于模糊效果?
感谢任何帮助。
答案 0 :(得分:0)
使用以下代码行
let maskLayer = CAShapeLayer()
maskLayer.contents = UIImage(named: "icono-menu")?.cgImage
maskLayer.frame = self.blurBottom.bounds
self.blurBottom.layer.masksToBounds = true
self.blurBottom.layer.mask = maskLayer
希望这有助于你
答案 1 :(得分:0)
UIVisualEffectView
有点不稳定。如果您拍摄效果视图的快照,然后应用蒙版怎么办?
func imageFromView(_ view: UIView) -> UIImage {
UIGraphicsBeginImageContextWithOptions(view.frame.size, false, 0.0)
view.drawHierarchy(in: view.frame, afterScreenUpdates: true)
let snapshotImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return snapshotImage
}
我有一半期望效果观不会出现,但可能值得一试。
答案 2 :(得分:0)
这里是:
let blurView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
let logoView = UIImageView(image: #imageLiteral(resourceName: "logo"))
blurView.mask = logoView