我有一个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中启动。
发生这种情况时,我会检查控制台并看到以下消息: 使用两阶段旋转动画。要使用更平滑的单级动画,此应用程序必须删除两阶段方法实现。但我没有在任何地方使用两阶段旋转! 这两个函数被覆盖:
shouldAutorotateToInterfaceOrientation
和willAnimateRotationToInterfaceOrientation
请参阅随附的屏幕截图。 http://img97.imageshack.us/i/screenshot20110405at308.png/
请帮帮我。任何建议将不胜感激。非常感谢!!
答案 0 :(得分:5)
我有这个问题。
将此代码添加到AppDelegate.m
。
self.tabBarController.selectedIndex = 0;