iOS:通用应用程序不会旋转,永远不会调用willRotateToInterfaceOrientation

时间:2011-02-06 20:40:45

标签: iphone ipad ios uiviewcontroller rotation

我的(通用iPhone / iPad)应用程序不会旋转。在我的所有viewcontrollers中,我向方法shouldRotate返回“YES”,但我的viewcontrollers的willRotateToInterfaceOrientation方法永远不会被调用。

这是一个常见问题吗?

3 个答案:

答案 0 :(得分:3)

在那个通用应用程序中你使用的是splitViewController吗?如果是这样,请确保所有viewControllers都返回Yes to autoRotate。

我将一个viewControllers数组(实际上是NavigationViewControllers)传递给了一个splitViewController,我的视图没有旋转。这是因为我的左手viewController没有实现shouldAutorotate。我认为这是因为当你使用splitViewController时在iPad上旋转与在iPhone上不同。旋转时,它显示两个viewControllers。两者都必须支持横向模式吗?

如果您不想旋转一个viewController进行旋转,请执行条件检查以查看您是否在shouldAutoRotate方法中的iPad上。

答案 1 :(得分:2)

您使用的是标签栏吗?您将需要子类化tabbar控制器并返回yes以进行旋转。

答案 2 :(得分:0)

我刚碰到这个。解决方案是继承UISplitViewController并添加

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

即使各个视图控制器已经返回YES,在我添加拆分视图控制器子类之前它也不起作用。