[英]How can I clip a blur UIVisualEffectView with a PNG mask?
我的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
甚至可以对模糊效果应用蒙版吗?
任何帮助表示赞赏。
使用下面的代码行,
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
希望这对您有帮助
UIVisualEffectView
有点奇怪。 如果为effectview拍摄快照,然后应用蒙版怎么办?
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
}
我一半希望effectview不出现,但值得一试。
这里是:
let blurView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
let logoView = UIImageView(image: #imageLiteral(resourceName: "logo"))
blurView.mask = logoView
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.