2

我正在向我的视图添加模糊效果,如下所示:

UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
[blurEffectView setFrame:self.view.bounds];
[self.view addSubview:blurEffectView];

但是如何禁用/消除模糊?

4

2 回答 2

2

由于UIVisualEffectViewsubclasses UIView,就像您将视觉效果视图添加self.view为子视图一样,只需将其隐藏(UIView隐藏属性)或将其从子视图中删除。

在您的情况下,我将添加一个引用blurEffectView视图中的实例变量,以便您可以根据需要将其隐藏属性设置为 true 或 false。

于 2015-04-24T22:35:49.580 回答
0

可能存在必须启用/禁用的blurView情况subViews(如我的情况)并基于某些条件。blurEffect

在这种情况下,您无法隐藏它,blurView因为它subViews也会被隐藏。

解决方案:使用 alpha 1 设置 blurView 的背景颜色(根据您预期的屏幕背景)。这会产生移除 BlurEffect 的效果。

blurView.backgroundColor = UIColor.init(colorLiteralRed: 0.960, green: 0.960, blue: 1, alpha: 1)
于 2017-06-21T06:07:03.750 回答