[英]Status bar Blur view (Translucent ) in swift 4.2 ios 12
我试图根据状态背景来模糊状态栏,就像我们下拉状态栏时一样。 就像看到的一样
let statusBarFrame = UIApplication.shared.statusBarFrame
let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
visualEffectView.frame = statusBarFrame
view.addSubview(visualEffectView)
我尝试了所有样式,但是即使我从情节提要中的情节提要效果演示中尝试过,它也会变为半透明,但即使在我的“ 降低透明度”中也已启用,它并未更改为半透明
我想在stausbar中实现
但它只给出一个白色的条
您可以通过以下代码获取statusBar视图,然后尝试添加到此处的视觉效果
let statWindow = UIApplication.shared.value(forKey:"statusBarWindow") as! UIView
let statusBar = statWindow.subviews[0] as UIView
statusBar.backgroundColor = UIColor(red: 213 / 255.0, green: 0 / 255.0, blue: 0 / 255.0, alpha: 0.7)
要么
extension UINavigationBar {
func installBlurEffect() {
isTranslucent = true
setBackgroundImage(UIImage(), for: .default)
let statusBarHeight: CGFloat = UIApplication.shared.statusBarFrame.height
var blurFrame = bounds
blurFrame.size.height += statusBarHeight
blurFrame.origin.y -= statusBarHeight
let blurView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
blurView.isUserInteractionEnabled = false
blurView.frame = blurFrame
blurView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
addSubview(blurView)
blurView.layer.zPosition = -1
}
}
navigationController?.navigationBar.installBlurEffect()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.