7

我有一个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

2 回答 2

14

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

你可以做这样的事情来删除UIVisualEffectView你的所有子视图blurView

for subview in blurView.subviews {
    if subview is UIVisualEffectView {
        subview.removeFromSuperview()
    }
}
于 2015-11-03T16:59:15.587 回答
0
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()
}
于 2020-03-19T16:25:47.310 回答