UIVisualEffectView 不会在 effect = nil 后消失
UIVisualEffectView won't disappear after effect = nil
我的 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)
}
我很确定您正在寻找的答案是:
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()
}
我的 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)
}
我很确定您正在寻找的答案是:
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()
}