在 swift 中移除 BlurView

Remove BlurView in swift

我有一个包含按钮和标签的 UIView。当按下这些按钮时,这个 UIView 将使用下面的代码变得模糊。

@IBOutlet weak var blurView: UIView!
var blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
var blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = blurView.bounds
blurView.addSubview(blurEffectView)

但是,我想稍后删除模糊效果。 去除模糊 UIView 的代码是什么?

很难确切地知道您的代码中发生了什么,因为您已经清楚地发布了一个剪切版本(最后 4 行大概是某处方法的一部分)。

您可以像这样从 blurView:

中删除所有 UIVisualEffectView 子视图
for subview in blurView.subviews {
    if subview is UIVisualEffectView {
        subview.removeFromSuperview()
    }
}
func addBlurEffect(view: UIView, style: UIBlurEffect.Style) {
    view.backgroundColor = UIColor.clear

    let blurEffect = UIBlurEffect(style: style)
    let blurEffectView = UIVisualEffectView(effect: blurEffect)
    blurEffectView.frame = view.bounds
    blurEffectView.tag = 9
    view.insertSubview(blurEffectView, at: 0)
}

func removeBlurEffect(view: UIView){
    view.viewWithTag(9)?.removeFromSuperview()
}