关于Objective C:如何动画切换到UISplitView?

在iPad上创建新的UISplitView应用程序时,我已经看过xcode生成的示例,以及无数其他教程和Apple开发者网站上的文档。我还没有看到一个示例,其中使用的UISplitView不是应用程序的根目录。这有可能吗?

我要完成的工作:我有一个UITableView可以启动,一旦选择了列表中的一个项目,我想显示一个基于所选项目的具有两组不同信息的拆分视图。

我很好奇这种实现是否可能,或者只是皱眉,为什么。如果有可能,我将如何实现并连接UISplitView以这种方式运行?

编辑:我正在用自己的内容进行更新。我现在可以切换到UISplitView了,尽管过渡没有动画。正确切换到UISplitView以便动画过渡的方法是什么?

立即切换的代码:

1
2
[appDelegate.window addSubview:appDelegate.splitViewController.view];
appDelegate.window.rootViewController = appDelegate.splitViewController;

编辑2:希望将其备份,以使更多的人看到它,我设法从我的navigationController切换到了splitViewController,但是当我添加该按钮以便能够向后浏览时,我所做的一切都无济于事我似乎被锁定了。我尝试反向镜像代码以切换到splitViewController,但这没有任何影响,而且我完全没有想法。任何人都可以对此有所了解吗?


您应该始终将SplitViewController用作rootViewController:拆分视图控制器必须是根视图控制器

围绕它可能会有一些破解,但是当苹果公司有强烈的建议和设计指导时,我建议您尝试在不使用该平台之前重新考虑您的设计-从长远来看,这应该可以节省您的精力。


我建议使用MGSplitViewController,它也可以用作非rootViewController,甚至嵌套在另一个MGSplitViewController中,并且如果需要的话,可以在动画主视图中混合使用一个直线。


在您的UITableView didSelectRowAtIndexPath方法中,您将具有以下内容:

1
2
3
UISplitViewController *mySplitView = [[UISplitViewController alloc] init];
[self.navigationController pushViewController:mySplitView animated:YES];
[mySplitView release];

可能您希望像其他视图控制器一样,将UISplitViewController子类化,并在其中设置主视图和详细视图,依此类推。