Swift 3:如何创buildUIImageView的边缘/边angular模糊?

目前我有一个CALayer应用于UIImageView像这样:

 let l: CALayer = imageView.layer l.masksToBounds = true l.cornerRadius = 20.0 

在这里输入图像说明

我想要达到如下所示的模糊效果:

在这里输入图像说明

我已经尝试了以下内容:

 let blurEffect = UIBlurEffect(style: .light) let visualEffectView = UIVisualEffectView(effect: blurEffect) imageView.addSubview(visualEffectView) 

以及:

 var visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light)) visualEffectView.frame = staffImageView.bounds imageView.addSubview(visualEffectView) 

但是,两者都没有达到我想要的结果。

有人可以提供帮助吗? 这似乎很简单,但我无法实现。

更新:我试图玩渐变,但没有太多的运气:

 var maskLayer = CAGradientLayer() maskLayer.frame = cell.imageView.bounds let black = UIColor.white.cgColor let clear = UIColor(white: 1, alpha: 0).cgColor maskLayer.colors = [black, clear] maskLayer.locations = [0.0, 0.10] maskLayer.startPoint = CGPoint(x: 1, y: 0) maskLayer.endPoint = CGPoint(x: 1, y: 1) cell.imageView.layer.addSublayer(maskLayer) 

结果:

在这里输入图像说明

 let maskLayer = CAGradientLayer() maskLayer.frame = yourImageView.bounds maskLayer.shadowRadius = 5 maskLayer.shadowPath = CGPath(roundedRect: YourImagView.bounds.insetBy(dx: 5, dy: 5), cornerWidth: 10, cornerHeight: 10, transform: nil) maskLayer.shadowOpacity = 1 maskLayer.shadowOffset = CGSize.zero maskLayer.shadowColor = UIColor.white.cgColor yourImageView.layer.mask = maskLayer 

基于Vincent Joy版本

对于Swift 4:

 let maskLayer = CAGradientLayer() maskLayer.frame = YourImagView.bounds maskLayer.shadowRadius = 5 maskLayer.shadowPath = CGPath(roundedRect: YourImagView.bounds.insetBy(dx: 5, dy: 5), cornerWidth: 10, cornerHeight: 10, transform: nil) maskLayer.shadowOpacity = 1; maskLayer.shadowOffset = CGSize.zero; maskLayer.shadowColor = UIColor.white.cgColor YourImagView.layer.mask = maskLayer;