iPad方向问题

时间:2010-11-03 14:58:35

标签: cocoa cocoa-touch ipad uikit

在界面构建器中,我创建了一个包含UIScrollView的UIVIew(UIViewController的视图)。 UIScrollView的设置方式会根据iPad的方向调整大小。

当我以纵向模式启动应用程序时,视图最初具有纵向方向的宽度和高度。只有在我开始与应用程序交互后,视图才会突然调整为“正确”方向。

基本上,我的问题是为什么UIScrollView(以及UIView)的框架和界限仍然像设备处于纵向模式一样?我已经在网上看到了几个关于此问题的线索,但是他们都没有真正给我我想要的答案。

奇怪的是,当我给UIScrollView一个生动的背景颜色(所以我可以看到它的尺寸)时,它具有正确的比例,但框架和边界是“不正确的”。

1 个答案:

答案 0 :(得分:2)

我弄明白它让我感到惊讶。首先,我注意到滚动视图的大小是正确的(即匹配设备的方向),这就是我在滚动视图的边界上基于滚动视图的内容大小的原因(因为它结果这是一个不正确的内容大小导致所有麻烦)。

这一切都很好,但需要注意的是滚动视图(以及任何其他视图)的大小调整为设备的方向,而不是在viewDidLoad方法中,而是在viewWillAppear方法中。 (只是要清楚,事先我并不是说这实际发生在viewDidLoad方法中)。

所以,我错误地在viewDidLoad方法中设置滚动视图的内容大小,但是那时滚动视图的大小还是“不正确”(“不正确”我只是意味着取决于方向对于设备,它没有调整到设备的方向)。我为解决这个问题所做的是移动我的方法,将滚动视图的内容大小设置为viewWillAppear方法。

这听起来很容易(而且确实如此),但我花了一些时间才弄明白这一点。我希望这有助于将来遇到类似问题的任何人。