Ios 在UIViewController之间切换时,UINavigationBar向下跳

Ios 在UIViewController之间切换时,UINavigationBar向下跳,ios,ios7,uiviewcontroller,nslayoutconstraint,Ios,Ios7,Uiviewcontroller,Nslayoutconstraint,我的iOS 7应用程序正在切换,以查看样式设置为“模态”的控制器和设置为“水平翻转”的过渡样式。应用程序的状态栏样式设置为默认 在转换之前,状态栏是可见的,导航栏以及第一个视图显示在其下方,正如它们应该显示的那样 转换后,状态栏可见,导航以及第二个视图最终也显示在其下方。但这只是在一个短暂但可感知且因此分散注意力的动画之后,导航栏明显从屏幕顶部跳下,即按状态栏的高度移动。第二个视图没有跳转:它显然从一开始就位于正确的布局位置 到目前为止,我已将第二个视图控制器的布局相关属性保留为默认值,请参见下

我的iOS 7应用程序正在切换,以查看样式设置为“模态”的控制器和设置为“水平翻转”的过渡样式。应用程序的状态栏样式设置为默认

在转换之前,状态栏是可见的,导航栏以及第一个视图显示在其下方,正如它们应该显示的那样

转换后,状态栏可见,导航以及第二个视图最终也显示在其下方。但这只是在一个短暂但可感知且因此分散注意力的动画之后,导航栏明显从屏幕顶部跳下,即按状态栏的高度移动。第二个视图没有跳转:它显然从一开始就位于正确的布局位置

到目前为止,我已将第二个视图控制器的布局相关属性保留为默认值,请参见下文

为什么会出现这种动画,如何避免


如果在一个视图控制器上隐藏状态栏,而在另一个视图控制器上显示状态栏,则会遇到此类问题,因为在转换完成之前,不会更新任何UI。但状态栏在第一个视图控制器中可见,我不会隐藏它。你是说在这种转变中隐藏是隐含的吗?如果是这样,可以通过配置等方式避免吗?您必须查看第二个viewController上的ViewDiLoad、ViewWillDisplay和ViewDidDisplay方法如果有一段代码更新您的用户界面,这也将在转换后执行。你也去看看吧,别担心,伙计。您是否在故事板中使用自动布局?可能重复