推送视图控制器中的半透明导航栏覆盖?

Posted

技术标签:

【中文标题】推送视图控制器中的半透明导航栏覆盖?【英文标题】:Translucent navigation bar overrides in pushed view controller? 【发布时间】:2017-04-01 13:25:54 【问题描述】:

我有一个内容模糊的半透明导航栏。

我想推送一个带有另一个半透明导航栏但没有要模糊的内容的新视图控制器(还),所以我做了一个简单的navigationController?.pushViewController(vc, animated: true)

但是,在过渡期间,旧导航栏会在一瞬间覆盖新导航栏,然后又恢复正常。 如何避免这种情况并实现平稳过渡?

我尝试在viewWillAppear 中使用导航栏的isTranslucent 属性,但没有成功。

这是一个理解问题的 gif:

【问题讨论】:

查看此链接***.com/questions/39835420/… 我尝试过覆盖isViewLoaded,但我意识到我实际上没有任何更新导航栏的代码,因为它与之前的视图控制器相同。我也试过this answer,但我不知道在里面放什么来更新导航栏的外观。 遇到同样的问题,找不到解决办法。你找到了吗?提前谢谢你。 【参考方案1】:

要在过渡时和过渡后保持导航栏半透明,请检查检查器中的“Under Top Bars”属性。

【讨论】:

您好,谢谢您的回复。我怎样才能在代码中做到这一点?我不使用故事板

以上是关于推送视图控制器中的半透明导航栏覆盖?的主要内容,如果未能解决你的问题,请参考以下文章

在整个应用程序中添加带有搜索栏的半透明背景视图控制器

iOS中模糊的半透明导航栏

iOS 7状态栏半透明,具有向后兼容性

iPhone:UITabBarController 内的半透明导航栏

IOS - 内容上的半透明导航栏

在我的导航栏 iOS 7 中设置色调/半透明级别的问题