Как размыть фон, не трогая маску?

У меня есть экран, в котором я хочу сделать "онбординг" — затемнить и заблюрить фон и подсветить нужный элемент. Выглядеть это по задумке должно так:

Пример

Я сделал следующим образом: добавил поверх текущего экрана черный прозрачный view.

let blurEffect = UIBlurEffect(style: .dark)
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.frame = view.bounds
blurView.autoresizingMask = [.flexibleWidth, .flexibleHeight]

Затем, я сделал маску:

spotlightMask.path = UIBezierPath(ovalIn: spotlight.rect)
spotlightMask.fillRule = .evenOdd
blurView.layer.mask = spotlightMask
view.addSubview(blurView)

Проблема в том, что ничего не работает. У меня либо нет блюра, либо блюрится весь вью, включая маску.


Ответы (0 шт):