我必须支持iOS 4.3。
我的应用在控制台输出:
Using two-stage rotation animation. To use the smoother single-stage animation, this application must remove two-stage method implementations.
据我所知,我没有使用两阶段轮换。我在视图控制器中只有这个方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
为了解决这个问题,我还应该检查什么?
编辑: 更精确:我的应用程序使用UITabbarController子类。当应用程序启动时,它会检查用户是否已登录,然后启动tabbar控制器的控制器(如果是这种情况)。如果没有用户登录,则会显示模式视图(来自标签栏控制器)用户登录的提示,并且尚未初始化标签控制器的控制器。 “两阶段旋转”错误仅在该时刻显示,并且旋转不起作用。
总而言之,问题发生在那种情况下:
答案 0 :(得分:0)
好的,我找到了解决方案。
在初始化UITabBarController的viewControllers属性之前,似乎所呈现的模态视图不会旋转。由于有关的模态视图实际上是用于登录,因此我不希望在用户登录之前显示任何内容,因为要由tabbar控制器保存的视图取决于用户登录的事实。 所以现在就在呈现模态视图之前,我用一个空的UIViewController初始化tabbar控制器,当模态视图被解除时(即用户登录)我将其删除。
也许它似乎是一个黑客但它运作良好。即使我不明白为什么,在完全初始化之前,tabbar控制器的行为似乎并不完全不合逻辑。
如果某人有更好的解决方案或解释,请随时评论:)
答案 1 :(得分:0)
关于这个错误的帖子不多,所以我会承认自己的缺点,为了下一个人的利益,所以他们可能会关注他们可能错过森林的树木。我找不到了
[super viewWillAppear:animated];
在我的潜水艇内打电话。