删除模糊效果 - ObjC

时间:2015-04-24 22:29:37

标签: ios uivisualeffectview

我正在将模糊效果添加到我的视图中:

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

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

2 个答案:

答案 0 :(得分:2)

UIVisualEffectView子类UIView开始,就像您将视觉效果视图添加到self.view作为子视图一样,只需隐藏它(UIView隐藏属性)或将其从子视图。

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

答案 1 :(得分:0)

可能存在blurViewsubViews的情况(就像我的情况一样)并且基于某些条件blurEffect必须启用/禁用。

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

解决方案:使用Alpha 1设置blurView的背景颜色(根据您的预期屏幕背景)。这样可以消除BlurEffect。

blurView.backgroundColor = UIColor.init(colorLiteralRed: 0.960, green: 0.960, blue: 1, alpha: 1)