gpt4 book ai didi

ios - 导航栏的实时模糊效果 - 状态栏无法进入

转载 作者:行者123 更新时间:2023-11-28 11:13:54 25 4
gpt4 key购买 nike

已关注 this question在导航栏中获得实时模糊效果:

func addBlurEffect() {
var bounds = self.navigationController?.navigationBar.bounds as CGRect!
var visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .Light)) as UIVisualEffectView
visualEffectView.frame = bounds
visualEffectView.autoresizingMask = .FlexibleHeight | .FlexibleWidth
self.navigationController?.navigationBar.addSubview(visualEffectView)
}

但是状态栏仍然是半透明的:

enter image description here

如何解决?


调试:

    print(self.navigationController?.navigationBar.bounds)
// Returns (0.0, 0.0, 320.0, 44.0)

print(UIApplication.sharedApplication().statusBarFrame)
// Returns (0.0, 0.0, 320.0, 20.0)

最佳答案

部分原因是您将视觉效果 View 的框架设置为导航栏的边界。您在屏幕截图中看到的是 导航栏的边界。因此,您可以通过为您的视觉效果 View 提供不同的框架来进行补偿,即将其原点向上移动 20 点并增加其高度。

不过,我有点不清楚为什么不直接将导航栏设为半透明。导航栏半透明模糊效果,支持。您正在做的事情——向导航栏添加 subview ——不是。

关于ios - 导航栏的实时模糊效果 - 状态栏无法进入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33067313/

25 4 0