如何使导航栏和状态栏变模糊(UIBlurEffect)?当我通过单击图像向下滚动(滚动视图)到其他图片时,此图片(在这种情况下是用白色机器)在导航栏下简单地丢失了,并且有必要在该图下可见带有效果UIBlurEffect的导航栏。如何使导航栏和状态栏模糊(UIBlurEffect)? iOS,Swift 3
我已经试过这样,但没有奏效:
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 }
首先,滚动画面时,导航栏下就会消失。
其次,状态栏保持灰色。
Bad UIBlurEffect for NavigationBar, and NO UIBlurEffect for StatusBar
为状态栏不留灰,我试图做到这一点,但在无果=(
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];
请帮忙解决这个问题,我惹与它周围3天。
对不起,我的英文不好。
谢谢,作品帮我第二行 –
我看不出有任何所有权或按钮任何更多... –
@RayKing我有同样的问题。我在这里找到了解决方案:http://stackoverflow.com/a/27316465 只需在添加效果后添加:self.navigationController?.navigationBar.sendSubviewToBack(visualEffectView)。 –