【发布时间】:2017-07-09 00:33:18
【问题描述】:
我正在尝试使用 twitter API 创建一个 twitter 应用程序,模拟真实的应用程序。在时间轴视图上,我有一个常规的导航栏,当用户点击用户个人资料时,个人资料视图有一个透明栏,以便显示用户的横幅图像。我使用以下代码使导航栏在用户配置文件视图中透明:
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
我遇到的问题是,当我从个人资料视图返回时,时间线导航栏变得一团糟(下面的屏幕截图)。我猜这是因为我为配置文件视图更改了视图控制器中导航栏的某些方面,并且当我返回到时间线视图时,这些方面仍然存在。
如何反转导航栏透明度以修复不稳定的导航栏?在时间线视图控制器中,我尝试使用以下代码尝试反转它,但它不起作用。
self.navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
self.navigationController?.navigationBar.shadowImage = nil
self.navigationController?.navigationBar.isTranslucent = false
带有常规导航栏的时间线视图
带有透明导航栏的个人资料视图
从个人资料视图返回后带有不稳定导航栏的时间线视图
【问题讨论】:
-
您是否尝试过在返回时设置带有颜色的实际图像?例如这样的:
self.navigationController?.navigationBar.setBackgroundImage(UIImage(ciImage: CIImage(color: UIColor.blue.ciColor)), for: .default)
标签: ios swift twitter swift3 navigation