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

问题描述 投票:0回答:1

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

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

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

ios swift animation uinavigationcontroller uinavigationbar
1个回答
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)
}
© www.soinside.com 2019 - 2024. All rights reserved.