【问题标题】:Remove blur effect - ObjC去除模糊效果 - ObjC
【发布时间】:2015-04-24 22:29:37
【问题描述】:

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

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

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

【问题讨论】:

  • 如果你不想模糊,为什么要添加模糊视图?
  • 我想模糊一点...

标签: ios uivisualeffectview


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    可能存在blurView 具有subViews 的情况(例如我的情况),并且根据某些条件必须启用/禁用blurEffect

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      • 2019-09-04
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      相关资源
      最近更新 更多