gpt4 book ai didi

ios - 从 subview 中移除 VisualEffectView

转载 作者:搜寻专家 更新时间:2023-10-31 22:53:18 24 4
gpt4 key购买 nike

我使用 bool 条件定义了一个 VisualEffectView。在这种情况下,当按下按钮时,将使用 active: true

调用此函数
func addVisualEffectView(active: Bool) {
let blurEffect = UIBlurEffect(style: .dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
if active {
blurEffectView.alpha = 0.5
blurEffectView.frame = self.view.frame
self.view.insertSubview(blurEffectView, at: 2)
} else {
blurEffectView.removeFromSuperview()
}
}

在另一个按钮中,使用active: false 再次调用此函数,它应该从屏幕上移除VisualEffectView subview ,但它没有。你能帮我看看问题出在哪里吗?

最佳答案

如果您添加了一次,然后再次调用您的函数,它不会删除之前添加的 View ,它只是不会添加新的 UIVisualEffectView。您需要能够通过继续使用其 tag 属性来跟踪您创建的 View 。

func addVisualEffectView(active: Bool) {
if active {
let blurEffect = UIBlurEffect(style: .dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.alpha = 0.5
blurEffectView.frame = self.view.frame
blurEffectView.tag = 332211
self.view.insertSubview(blurEffectView, at: 2)
} else {
self.view.viewWithTag(332211)?.removeFromSuperview()
}
}

关于ios - 从 subview 中移除 VisualEffectView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54975360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com