当用户导航更深时,UINavigation Bar变为透明

时间:2015-06-09 10:55:57

标签: ios objective-c swift uinavigationcontroller uinavigationbar

在如今的许多应用程序中,导航控制器中的某些视图(Profile Pages左右)具有透明导航栏非常受欢迎。你可以在模型中看到我的意思。我试图完成这个效果,但我很难找到如何做到这一点。 Schema 让我们说我在UITableView中选择了一个项目,并且我正在接受UIScrollView的攻击。我希望滚动视图显示返回按钮,就像在普通的UINavigationBar中一样,但不同之处在于导航栏是不可见的。 我想保留导航栏逻辑,因为可以使用透明条从视图中深入挖掘导航层次结构。 什么是最好的方法来实现这样的目标?

1 个答案:

答案 0 :(得分:1)

将以下内容添加到viewDidLoad()

navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = true

这将持续到您浏览导航层次结构的其他视图,因此请确保对其viewDidAppear()或加载进行更改。或者,您可以通过删除viewWillDisappear()中的透明度来在当前视图控制器中处理此问题。

这将保留导航项目,您可以照常更改颜色。

navigationController?.navigationBar.tintColor = UIColor.lightGray