繁体   English   中英

如何使用PNG蒙版剪切模糊的UIVisualEffectView?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM