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