В настоящее время у меня есть CALayer
применяется к UIImageView
так:Swift 3: Как создать размытые боковые края/углы 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)
Однако, как не достичь результатов, которые я хочу.
Может ли кто-нибудь помочь в этом? Это кажется довольно простым, но я просто не могу этого добиться.
UPDATE: Я пытался играть с градиентом, но не имея много удачи:
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)
Результат:
Вы пытались добавить маску к размытости так, что это влияет только на стороне? –