我正在构建一个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)设置为横向。 如何解决此警告消息?
答案 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作为根控制器&这个错误不会再纠缠你了。