【发布时间】:2018-11-13 02:08:31
【问题描述】:
我有一个非常简单的设置:
根视图控制器隐藏了导航栏,辅助视图控制器 (Settings) 显示了带有大标题的导航栏。为了实现导航栏的隐藏和显示,我这样做:
在根视图控制器中:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
}
就是这样。对于这种特殊情况,这完美除了:当我向右平移时,好像我正在关闭辅助视图控制器但然后向左平移以取消,导航栏闪烁,而辅助视图控制器动画返回为它应该。这是慢动作的样子:
如果我将导航栏隐藏到辅助视图控制器的viewWillAppear(_:) 中,也会发生同样的情况。
如何停止闪烁并使其正常工作?
【问题讨论】:
-
你真的需要用动画让它出现/消失吗?您是否尝试过设置
navigationController?.isNavigationBarHidden? -
@GustavoBarbosa,这不起作用,因为当我完全拖动时,导航栏消失了
标签: ios swift uinavigationcontroller