我对ViewController产生模糊效果,但是通过调用blurView.effect = nil,即使我调用print(blurView.effect),它也会打印出“ nil”,模糊不会消失。我该怎么办?
@IBOutlet weak var blurView: UIVisualEffectView!
var effect =UIVisualEffect!
override func viewDidLoad() {
super.viewDidLoad()
effect = blurView.effect
blurView.effect = nil
print(blurView.effect)
}
答案 0 :(得分:1)
我很确定您正在寻找的答案是:
blurView.removeFromSuperview()
代替
blurView.effect =无
使用它将从超级视图中删除视图及其中的所有内容。
我希望有帮助。
我没有测试以上答案,但是如果我是你,我宁愿这样使用:
override func viewDidLoad() {
super.viewDidLoad()
let blurEffect = UIBlurEffect(style: UIBlurEffect.Style.dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = self.view.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.view.addSubview(blurEffectView)
blurEffectView.removeFromSuperview()
}