模态segue推动顶部的附加导航栏滑动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模态segue推动顶部的附加导航栏滑动相关的知识,希望对你有一定的参考价值。

我的ios应用程序的第一个屏幕是登录屏幕+位于底部的注册按钮。它嵌入在导航视图控制器中,但导航栏在下一个屏幕从右侧滑入时成功登录之前变得不可见。这很好用。

问题是当点击注册按钮后注册视图(模态)向上滑动。注册视图嵌入在另一个导航控制器中,它包含位于其滑动视图顶部的导航栏。与此同时,从顶部开始,第二个导航栏(空)也向下滑动。第二个导航栏立即被模态视图覆盖,但是片刻屏幕闪烁,这很烦人。

如何防止额外的导航栏从顶部向下滑动? enter image description here

答案

我发现了这个错误!

登录视图控制器具有以下方法:

override func viewWillDisappear(_ animated: Bool) {
    navigationController?.setNavigationBarHidden(false, animated: animated)
    super.viewWillDisappear(animated)
}

有必要恢复登录后视图控制器中的导航栏,但在注册视图控制器中产生恼人的效果。所以我删除了它,相反,我将片段插入登录后的视图控制器:

override func viewWillAppear(_ animated: Bool) {
    navigationController?.setNavigationBarHidden(false, animated: animated)
    super.viewWillAppear(animated)
}

以上是关于模态segue推动顶部的附加导航栏滑动的主要内容,如果未能解决你的问题,请参考以下文章

如何从左侧而不是从顶部滑动导航栏?

iOS:尝试将导航栏添加到模态 UITableViewController

bar button item segue 不在下一个视图顶部添加导航栏

从 iphone 上的 push segue 导航返回时,顶部导航栏变得可见

React实现顶部固定滑动式导航栏(导航条下拉一定像素时显示原导航栏样式)

底部应用栏在使用片段导航时向上/向下滑动(导航架构组件)