Tabbarcontrol中UISplitview的旋转

时间:2011-04-05 08:20:37

标签: uitabbarcontroller uisplitviewcontroller

我有一个Tabbar控件(作为根控件)。 在第一个选项卡中,我有一个拆分视图,我以编程方式创建,如下所示: UISplitViewController *split = [[[UISplitViewController alloc] init] autorelease]; split.navigationItem.title = @"All";

MasterSplitViewController *root = [[[MasterSplitViewController alloc] init] autorelease]; root.navigationItem.title = @"Areas"; root.detailViewController = detail;

UINavigationController *nav = [[[UINavigationController alloc] initWithRootViewController:root] autorelease];

split.tabBarItem = controller.tabBarItem; split.viewControllers = [NSArray arrayWithObjects: nav, detail, nil]; split.delegate = detail;

一切正常,但是......如果我在横向模式下启动应用程序,那么布局会在主视图上稍微突破。 如果应用程序以纵向开始,那么我将旋转到横向,然后就可以了。 它破坏的唯一情况是应用程序在Landscape中启动。

发生这种情况时,我会检查控制台并看到以下消息: 使用两阶段旋转动画。要使用更平滑的单级动画,此应用程序必须删除两阶段方法实现。但我没有在任何地方使用两阶段旋转! 这两个函数被覆盖:

shouldAutorotateToInterfaceOrientationwillAnimateRotationToInterfaceOrientation

请参阅随附的屏幕截图。 http://img97.imageshack.us/i/screenshot20110405at308.png/

请帮帮我。任何建议将不胜感激。非常感谢!!

1 个答案:

答案 0 :(得分:5)

我有这个问题。 将此代码添加到AppDelegate.m

self.tabBarController.selectedIndex = 0;