Ios UIVisualEffect未显示在UIView上

Ios UIVisualEffect未显示在UIView上,ios,iphone,swift,uiview,Ios,Iphone,Swift,Uiview,我有一个UIView和一个以编程方式创建的视图,然后我将它作为子视图添加到我的viewController.view。但是,视图不受模糊的影响。 这是我的密码: let blurryView: UIView = { let blur = UIView() blur.backgroundColor = UIColor.yellow blur.alpha = 0.90 let blurEffect = UIBlurEffect(style: .extraLight)

我有一个
UIView
和一个以编程方式创建的视图,然后我将它作为
子视图添加到我的
viewController.view
。但是,视图不受模糊的影响。 这是我的密码:

let blurryView: UIView = {
    let blur = UIView()
    blur.backgroundColor = UIColor.yellow
    blur.alpha = 0.90
    let blurEffect = UIBlurEffect(style: .extraLight)
    let blurEffectView = UIVisualEffectView(effect: blurEffect)
    blur.addSubview(blurEffectView)
    blurEffectView.center = blur.center
    blurEffectView.frame = blur.bounds
    blur.translatesAutoresizingMaskIntoConstraints = false
    return blur
}()

func manageBlurView() {
    blurryView.widthAnchor.constraint(equalToConstant: 250).isActive = true
    blurryView.heightAnchor.constraint(equalToConstant: 250).isActive = true
    blurryView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    blurryView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
}

override func viewDidLoad() {
    super.viewDidLoad()

    view.addSubview(blurryView)
    manageBlurView()

}
  • 添加了模糊效果,我使用
    断点
    和pint语句
    检查了模糊效果,如果blur.subview==[blurEffectView]{
    打印(“作为子视图添加的模糊效果”)
    }
    并将其打印出来
  • 我有一个背景图像来确定它是否模糊
  • 我还尝试在
    viewDidLoad()
    中添加模糊效果,但什么也没发生

将黄色背景视图和模糊视图直接添加为主视图的子视图:

    let backg = UIView(frame: self.view.frame)
    backg.backgroundColor = UIColor.yellow
    backg.alpha = 0.90

    self.view.addSubview(backg)

    // the blur effect
    let blurEffect = UIBlurEffect(style: .extraLight)
    let blurredEffectView = UIVisualEffectView(effect: blurEffect)

    blurredEffectView.frame = self.view.frame
    self.view.addSubview(blurredEffectView)

您可以将上述代码放入
viewDidLoad

谢谢您的帮助。我不知道我为什么要这样做。我正在处理约束,这样我就可以轻松地重新约束并移动它们。