2011-02-06 71 views
0

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

这是常见问题?

+2

您应该仔细检查一下,您没有方向锁定。你知道,在我们疯狂地试图测试它之前:P – 2011-02-06 21:17:25

+0

它在iPad模拟器和实际的iPad上就像这样。 – 2011-02-07 15:13:55

回答

3

在那个通用应用程序中,您使用的是splitViewController吗?如果确实如此,请确保您的所有viewControllers都返回Yes以应该autoRotate。

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

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

2

你在使用标签栏吗?你需要继承你的tabbar控制器,并返回yes以便旋转。

0

我刚碰到这个。解决的办法是继承UISplitViewController并添加

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

即使单个视图控制器已经返回YES,它没有工作,直到我说拆分视图控制器子类。

相关问题