【问题标题】:Additional navigation bar slides from top on modal segue push额外的导航栏在模态 segue 推送上从顶部滑动
【发布时间】:2023-03-29 20:48:01
【问题描述】:
我的 iOS 应用程序的第一个屏幕是登录屏幕 + 位于底部的注册按钮。它嵌入在导航视图控制器中,尽管导航栏在下一个屏幕从右侧滑入成功登录之前变得不可见。这很好用。
问题是在点击注册按钮后注册视图(模态)向上滑动。注册视图嵌入在另一个导航控制器中,它包括位于其滑动视图顶部的导航栏。 同时,第二个导航栏(空的)从上往下也滑下来了。 第二个导航栏立即被模态视图覆盖,但有一会儿屏幕闪烁,很烦人。
如何防止附加导航栏从顶部滑下来?
【问题讨论】:
标签:
ios
swift
animation
uinavigationcontroller
uinavigationbar
【解决方案1】:
我发现了错误!
登录视图控制器有方法:
override func viewWillDisappear(_ animated: Bool) {
navigationController?.setNavigationBarHidden(false, animated: animated)
super.viewWillDisappear(animated)
}
有必要在登录后视图控制器中恢复导航栏,但在注册视图控制器中产生了烦人的效果。所以我删除了它,而是将sn-p插入到登录后的视图控制器中:
override func viewWillAppear(_ animated: Bool) {
navigationController?.setNavigationBarHidden(false, animated: animated)
super.viewWillAppear(animated)
}