如何使导航栏和状态栏模糊(UIBlurEffect)?当我通过点击图像向下滚动(滚动视图)到其他图片时,这张图片(在这种情况下是一个白色的机器)会简单地消失在导航栏下面,需要让这个图像在导航栏下面可见并带有UIBlurEffect效果。
没有UIBlurEffect
我已经尝试过了,但没有成功:
func addBlurEffect() {
// Add blur view
let bounds = self.navigationController?.navigationBar.bounds as CGRect!
let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
visualEffectView.frame = bounds!
visualEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.navigationController?.navigationBar.addSubview(visualEffectView)
self.navigationController?.navigationBar.sendSubview(toBack: visualEffectView)
visualEffectView.isUserInteractionEnabled = false }
首先,当滚动图片时,它会消失在导航栏下面。
其次,状态栏仍然是灰色的。
导航栏的UIBlurEffect效果不好,而状态栏没有UIBlurEffect效果
为了让状态栏不再是灰色的,我尝试过,但没有成功 =(
bounds.offsetBy(dx: 0.0, dy: -20.0)
bounds.size.height = bounds.height + 20.0
同样在AppDelegate中(该应用程序是用Objective-C编写的),在didFinishLaunchingWithOptions中,我尝试添加它,所有内容保持不变,没有任何更改:
[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc]init] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc]init]];
[[UINavigationBar appearance] setBackgroundColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]];
[[UINavigationBar appearance] setTranslucent:YES];
请帮忙解决问题,我已经折腾了三天。
非常抱歉我的英语不好。