导航控制器中的iOS ScrollView导致重新加载时出现布局问题

时间:2012-10-21 00:32:35

标签: ios layout uinavigationcontroller scrollview

我使用Interface Builder创建了一个通用应用程序。我的视图控制器嵌入在导航控制器中。一切都在模拟器上以及iPad和iPhone上运行,但我得到了一个奇怪的怪癖。

我的第一个视图是ScrollView中显示的菜单。仅在iPhone和iPhone模拟器上,第一次加载第一个视图时,一切看起来都很好。如果我单击按钮以切换到新视图然后使用“返回”按钮,则菜单会向屏幕左侧缩小。如果我再次单击按钮然后再次导航,则会恢复原始比例。 (无限重复。)

这似乎不会发生在iPad版本中。唯一的区别是:iPhone版只是肖像,iPad版只是风景; iPad版本是滚动视图(从iPhone UI复制而来),但实际上并不需要滚动,因为视图与屏幕大小相同。

我正在使用Interface Builder来设置struts和spring。我尝试升级到AutoLayout,但是这引起了一些OpenGL组件的问题,这个组件来自一些(非常旧的)Apple示例代码,我不想搞乱那个组件。

这可能是ScrollViews和导航控制器的错误吗?我只是错过了简单的设置更改吗?我怀疑它可能与iOS 6有关,试图支持新的,更长的iPhone,但不知道如何解决它。我确定问题是愚蠢的,但我被卡住了!提前谢谢。

1 个答案:

答案 0 :(得分:0)

想出来。我只需要移动

self.scrollView.contentSize = self.scrollView.bounds.size;

out of viewDidLoad并进入ViewWillAppear。