隐藏导航栏时查看跳转
在我们的应用中,当其中一个视图被推送到导航控制器时,导航栏可见5秒,然后我们将navigationBarHidden设置为TRUE。稍后如果用户点击屏幕,我们切换navigationBarHidden值。但是,当导航栏ID隐藏或变得可见时,视图分别为这些动作上下跳跃。隐藏导航栏时查看跳转
有没有什么办法可以防止视图在酒吧被隐藏或显示时跳跃?
感谢和问候, Hetal
您是否使用setNavigationBarHidden:
或setNavigationBarHidden:animated:
?
尝试[navigationController setNavigationBarHidden:NO animated:YES];
。
如果问题是视图改变大小,那么你将不得不考虑在视图本身,即它必须能够处理这两个大小。
我有同样的问题。在我的项目中,这是因为视图是滚动视图。如果你的视图是滚动视图或表格视图,你可以试试这个:
我将下面的代码添加到控制器。
self.automaticallyAdjustsScrollViewInsets = NO;
希望它能帮助你。
谢谢。它可以帮助我收集视图:) – 2017-08-06 04:31:57
我意识到这是一个古老的对话,但我在iOS 11中遇到了一些以前工作的代码的问题,这是我在Google中第一次获得的结果。
在我的情况,我有一个视图控制器与导航控制器。该视图包含滚动视图。
如果滚动视图全部放大,滚动位置将在导航栏隐藏/显示动画之后跳转。
设置self.automaticallyAdjustsScrollViewInsets = NO/false
没有工作(它通过iOS 10完成)。
经过大量的讨论后,我意识到UIScrollView中有一个名为contentInsetAdjustmentBehavior的新属性。
我不得不将它设置为“never”以获得所需的效果(即当显示/隐藏导航栏时滚动视图位置不会改变)。
在SWIFT它看起来像这样: self.scrollView?.contentInsetAdjustmentBehavior = .never
动画似乎在iPhone上而不是在iPad上运行。你知道为什么吗? – CedricSoubrie 2011-11-08 17:00:28