首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模糊背景在iOS14中不再有效

模糊背景在iOS14中不再有效
EN

Stack Overflow用户
提问于 2020-10-02 00:01:01
回答 1查看 788关注 0票数 1

目前正在为客户处理别人的现有项目,但是在iOS14设备上有这个奇怪的问题,只有在每个具有模糊背景的屏幕看起来都不再模糊,而只是像一个低alpha值的透明灰色叠加图像。我尝试了各种方法,并在网上寻找,但仍然找不到这里的问题。

代码语言:javascript
复制
  override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    animatedCircleView.alpha = 1

    imvLogo.isHidden = false
    
    // Hero
    imvLogo.hero.id = "logo"
    imvLogo.hero.modifiers = [.duration(self.animatedDuration)]
    
    let blurEffect = (NSClassFromString("_UICustomBlurEffect") as! UIBlurEffect.Type).init()
    blurEffect.setValue(8, forKeyPath: "blurRadius")
    blurView = UIVisualEffectView(effect: blurEffect)
    blurView.frame = UIScreen.main.bounds
    blurView.alpha = 1
    view.insertSubview(blurView, aboveSubview: imvBackground)
  }

这是在iOS13上模糊的背景之前的样子:

这是它现在在iOS14上的样子:

我也试着把代码改成这样,但它只给了我一个纯色的背景,而不是一个模糊的背景:

代码语言:javascript
复制
let blurEffect = UIBlurEffect(style: .light)
blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = UIScreen.main.bounds
blurEffectView.alpha = 0
view.insertSubview(blurEffectView, aboveSubview: viewUnder)

这是它给我的纯色背景色:

如果有人能告诉我在iOS14中可能出了什么问题,或者是什么破坏了这个问题,那就太好了,以及我如何着手解决这个问题。谢谢。

更新:

我检查了视图层次结构,并在ios13上正确创建了UIVisualEffectBackdropView (见下图):

但ios14 UIVisualEffectBackdropView的创建不正确,只是获取背景图像并对其应用色彩,但没有模糊:

EN

回答 1

Stack Overflow用户

发布于 2020-10-07 22:17:19

@GameDev

实际上,这段代码使用的私有接口_UICustomBlurEffect从iOS 14起就不再起作用了。你必须依赖于一个常规的UIBlurEffect子类,但你将无法设置blurRadius...

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64159083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档