Можно ли создать тень вокруг UIVisualView с UIBlurEffect, не позволяя UIVisualView окрашиваться под тенью внизу?Создайте тень вокруг UIVisualEffectView, не закрывая весь вид.
я в основном просто хочу тень вокруг точки зрения, но с этим кодом тень будет охватывать весь вид, который затемняет весь взгляд на многое:
let borderPath = UIBezierPath(roundedRect: view.bounds, byRoundingCorners: [.topLeft, .topRight], cornerRadii: CGSize(width: 15, height: 15)).cgPath
shadowView.frame = view.bounds
shadowView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
shadowView.layer.shadowOpacity = 0.3
shadowView.layer.shadowRadius = 3.0
shadowView.backgroundColor = UIColor.clear
shadowView.layer.shadowPath = borderPath
shadowView.layer.shadowOffset = CGSize(width: 0, height: 0)
self.view.insertSubview(shadowView, at: 0)
let blurEffect = UIBlurEffect(style: .extraLight)
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.frame = view.bounds
blurView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
blurView.clipsToBounds = true
blurView.layer.cornerRadius = 15
view.insertSubview(blurView, aboveSubview: shadowView)
EDIT.
Мне нужно добиться того же, что и в приложении Apple Maps. Там, где перетаскиваемый любимый вид использует UIVisualEffectView и тень вокруг его вершины, не мешая фону UIVisualEffectView.
вы можете принять вид снизу к первоначальному виду применить и применить тень к этой точке зрения. Удостоверьтесь, что представление, которое вы собираетесь установить ниже, из вида, имеющего одинаковые размеры –
Я не понимаю, что вы имеете в виду. Пожалуйста, покажите мне пример. – alengqvist