我一直在尝试让我的滚动视图显示在导航栏下,就像苹果消息应用程序一样,稍微模糊一些。我尝试过以下方法,但都没有成功:
一:

self.navigationController?.navigationBar.isTranslucent = true

二:
self.navigationController?.navigationBar.barStyle = UIBarStyle.blackTranslucent

三:
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)

四:
self.navigationController?.navigationBar.backgroundColor = UIColor.clear()

我读过很多不同于上述方法的文章,并尝试了其中的大部分,但都没有成功。我认为设置isTranslucent=true的目的就是得到确切的效果。还有什么我应该试试的吗?基本上我只想让导航栏稍微有点透明。

最佳答案

UIVisualEffectView正是您所寻找的,并得到了很好的证明:

let bounds = self.navigationController?.navigationBar.bounds as CGRect!
let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .Light))
visualEffectView.frame = bounds
self.navigationController?.navigationBar.addSubview(visualEffectView)

也就是说,同时使用方法1和方法2也应该有效:
self.navigationController.navigationBar.translucent = YES;
self.navigationController.navigationBar.topItem.title = @"Contacts";
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

here

关于ios - 如何在我的UINavigationBar后面获得模糊的效果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37957071/

10-09 20:57