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

时间:2018-03-02 07:45:44

标签: ios swift animation uinavigationcontroller uinavigationbar

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

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

如何防止其他导航栏从顶部向下滑动? enter image description here

1 个答案:

答案 0 :(得分:0)

我发现了这个错误!

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

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)
}