UIScrollView根视图显示在半透明导航栏下

时间:2014-11-22 17:05:18

标签: ios ios7 uinavigationcontroller uinavigationbar uistoryboardsegue

在故事板中,视图控制器具有半透明导航栏,根视图为UIScrollView

一切正常,UIScrollView有正确contentInsets(自动设置),内容显示在半透明导航栏后面。

突然,在推送任何视图控制器后,使用performSegueWithIdentifier:或使用IB的关系,目标VC的根视图显示在导航栏下方,甚至虽然它被标记为显示在顶部栏下并被设置为自动调整内容插入。

为了确保按下的视图控制器没有问题,我推动了同一个视图控制器,一个工作正常的控制器 - 但是在推动后导航栏变得不透明。

它发生在iOS 7和8上,任何屏幕尺寸。它不会发生在我的应用程序中的其他导航控制器上。

在推送之后,知道为什么根视图会显示在导航栏下吗?

更新

将推送的视图控制器的根视图更改为UIView而不是UIScrollView时,它可以正常工作。

因此,当以UIScrollView作为根视图推送视图控制器时,会发生这种情况。一些调试信息在3.5" screen(_pagesScrollView是对根视图的UIScrollView引用) -

_pagesScrollView.contentInset = {0, 0, 0, 0}
_pagesScrollView.frame = {{0, 0}, {320, 480}}
self.view.frame = {{0, 0}, {320, 480}}

你可以看到这次没有设置contentInset,高度是480,但看起来(0,0)的原点 导航栏。

在另一个带有UIScrollView的VC之后推送具有UIScrollView根视图的VC时,似乎会出现此问题。

更新2

修复了问题 - 为什么view.frame.origin(0,0)显示在导航栏下,当视图控制器在顶部栏下有#34;"和"调整内容插入"启用?

0 个答案:

没有答案