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

Ipad 不推荐使用两阶段旋转动画。此应用程序应使用更平滑的单阶段动画,ipad,uiinterfaceorientation,ios5.1,Ipad,Uiinterfaceorientation,Ios5.1,我正在构建一个ipad应用程序。当应用程序启动时,我会以横向正确模式显示它。但一旦应用程序启动,我就会收到这个消息 Two-stage rotation animation is deprecated. This application should use the smoother single-stage animation 我在所有的课堂上都使用了这种方法 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrienta

我正在构建一个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)设置为横向。
如何解决此警告消息?

问题在于您的应用程序正在使用以下方法之一,这些方法在iOS 5.0中已被弃用:

didAnimateFirstHalfOfRotationToInterfaceOrientation:
willAnimateFirstHalfOfRotationToInterfaceOrientation:duration:
willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:

您需要修改视图控制器以替代
WillAnimateRotationInterfaceOrientation:duration:
,并且不替代任何“HalfOfRotation”方法。

在阅读答案后,我刚刚意识到,我只是错误地使用了选项卡栏控制器:选项卡栏应仅用作根控制器,但是,我在它前面插入了一个导航控制器。

检查您的数组声明以获取选项卡栏 …您可能犯的错误: 我在赋值后声明了数组对象

tabBarController.viewControllers = tabControlArry;
[tabControlArry addObject:navCOntroller];
[tabControlArry addObject:navController1];
正确的方法:

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

如果您在脚本中以空选项卡栏控制器作为根用户运行应用程序,也会收到此错误消息。我刚刚启动一个应用程序,我的
UITabBarController
还没有视图控制器,但正在显示登录模式。

此错误消息与TabBarController的使用有关。当您没有将tabBarController设置为应用程序的根控制器时,可能会出现此错误。因此,将您的TabBarController作为根控制器&这个错误将不再困扰您

我应该把这个方法放在哪里。我的应用程序的确切功能是——我有一个tabbar应用程序。我在appdelegate中初始化一个tabbarcontroller,并将所有类添加到tabbarcontroller数组中。然后,我在选项卡栏前面添加了一个登录屏幕,登录后,我会显示选项卡栏。我的应用程序以横向模式打开,但我收到此警告。同时,我认为正因为如此,我的键盘尺寸不正确。在横向模式下显示键盘宽度和高度时,在iPad3中显示宽度=352,高度=1024。我似乎不知道系统目前处于横向模式。谢谢您是否在所有源代码中搜索那些不推荐的方法?是的。实际上,这些方法并没有出现在我的代码中的任何地方。。。有时,我有两个项目,只是WillAnimateRotationInterfaceOrientation:duration:没有其他,一个会产生通知,另一个不会,一定是nib中的积垢导致了它。如果您尝试使用modal UITabBarController(upd。是的,您会),那么请参阅解决方案。官方解释为什么会发生这种情况。@Alexander我不以模式显示选项卡栏。您的“登录屏幕”是导航控制器吗?所有必须为“rootViewController”的控制器都不应用作“模态”。@Alexander LoginScreen是一个显示为tabbar控制器模态的控件。添加到tabbar控制器的所有其他控制器都作为RootViewController位于导航控制器下。在登录时,我取消了登录模式,以显示tabbarsI具有完全相同的功能。谢谢。在iOS8中,tab-bar控制器似乎可以用于导航控制器,但在iOS7中会出现错误。