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