【发布时间】:2013-01-07 01:10:56
【问题描述】:
我正在尝试了解 Apple 针对基于页面的应用程序的默认模板。该模板显示了一种日历,一年中的每个月都有一个页面。
在不做任何更改的情况下编译模板时,我注意到了一些奇怪的事情。当应用程序启动时,它以纵向模式显示,并且当 - 在翻阅一些页面后(例如,到 6 月) - 您更改旋转时,它会以横向模式重新加载,显示两个页面,但从 1 月开始。不过,这只会发生一次。在随后的方向更改时,它会跳转到正确的“currentViewController”。
这方面的代码似乎来自 RootViewController 文件,具体来说
UIViewController *currentViewController = self.pageViewController.viewControllers[0];
坦率地说,第一次方向改变似乎被忽略了。
我想知道为什么?
【问题讨论】:
-
有趣!这只发生在 iOS6 中。在 5.1 模拟器中运行时,完全相同的代码可以正确执行。我设置了一个断点,并注意到在 5.1 中,函数
- (UIPageViewControllerSpineLocation)pageViewController:(UIPageViewController *)pageViewController spineLocationForInterfaceOrientation:(UIInterfaceOrientation)orientation在 UIPageviewcontrol 首次加载时不会执行,但在 6.0 中会执行。 -
谢谢,我在发帖之前已经看过这个帖子,但这与我想发的内容无关。我正在使用来自 Apple 的基于默认页面的模板,没有任何更改,并且旋转错误仅发生在第一次方向更改时(并且仅在 iOS6 中)。它适用于随后的方向变化。
标签: xcode ios6 uipageviewcontroller