ios - 将一个导航栏更改为透明会将所有导航栏更改为透明

标签 ios swift uinavigationcontroller uinavigationbar

我的应用程序的第一个 View 中嵌入了一个导航 Controller 。

当我将一个 View 上的导航栏更改为透明时,它会将其更改为对所有 View 透明,而且我似乎无法将其更改回来。

我希望它对我的一些 View 是透明的,但不是全部。

要设置为透明,我使用:

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.translucent = true

最佳答案

将更改导航栏背景颜色的代码放入viewWillAppear中,然后在viewWillDisappear中将颜色更改回默认值

关于ios - 将一个导航栏更改为透明会将所有导航栏更改为透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36759518/

相关文章:

swift - Swift 中的 UIBezierPath 描边(和填充)

ios - 如何快速隐藏谷歌地图标记

swift - AMScrollingNavbar 不起作用。什么都没发生

iPhone 闹钟渐进式音乐提醒 + 音量控制

ios - 如何修复宽度、高度和变换的 ios 过渡?

ios - 碳套件 : How To pass tab array title ID to UIViewController?

javascript - Phonegap - iOS - 谷歌地图 "Sorry no imagery here"

php - 使用 php Api 端点进行 Swift 网络调用

iphone - 将按钮添加到底部工具栏

ios - 当触发 Action 时,mockNavigationController返回当前viewController,而不是推送