不推荐使用两阶段旋转动画。此应用程序应使用更平滑的单阶段动画

时间:2012-06-14 06:26:26

标签: ipad uiinterfaceorientation ios5.1

我正在构建一个ipad应用程序。当应用程序启动时,我以横向右模式显示它。但是一旦应用程序启动,我就会收到此消息

Two-stage rotation animation is deprecated. This application should use the smoother single-stage animation

我在所有课程中都使用了这种方法

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

我还在plist文件中将支持的界面方向(iPad)设置为横向。 如何解决此警告消息?

5 个答案:

答案 0 :(得分:15)

我刚刚意识到 - 在阅读this回答后 - 我只是错误地使用了标签栏控制器:标签栏应该只用作根控制器,但是我之前插入了一个导航控制器。

答案 1 :(得分:7)

如果您在故事板中以root身份运行带有空标签栏控制器的应用程序,也可以收到此错误消息。我刚刚开始使用应用程序而我的UITabBarController还没有视图控制器,但是它正在呈现一个登录模式。

答案 2 :(得分:1)

问题是您的应用正在使用其中一种方法,这些方法已在iOS 5.0中弃用:

didAnimateFirstHalfOfRotationToInterfaceOrientation:
willAnimateFirstHalfOfRotationToInterfaceOrientation:duration:
willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:

您需要修改视图控制器以覆盖willAnimateRotationToInterfaceOrientation:duration:,而覆盖任何“HalfOfRotation”方法。

答案 3 :(得分:0)

检查标签栏的数组声明 你完成的错误:我在分配

后声明了数组对象
tabBarController.viewControllers = tabControlArry;
[tabControlArry addObject:navCOntroller];
[tabControlArry addObject:navController1];

正确的方法:

[tabControlArry addObject:navCOntroller];
[tabControlArry addObject:navController1];
tabBarController.viewControllers = tabControlArry;

答案 4 :(得分:0)

此错误消息与TabBarController用法有关。当您没有将tabBarController作为应用的"根控制器" 时,您可能会遇到此错误。因此,将您的TabBarController作为根控制器&这个错误不会再纠缠你了。