如何在横向方向创建UISplitViewController肖像行为?

时间:2010-11-15 00:39:20

标签: ipad uiviewcontroller uisplitviewcontroller

我正在尝试找到我在某些iPad应用中看到的解决方案,其中看似UISplitViewController的内容未显示横向停靠在左侧的主视图。相反,行为在横向和纵向中完全相同,屏幕顶部UIBarButtonItem左侧的UIToolbar会在主视图中显示UIPopoverController控制器的观点。这会显示一些菜单选项,这些选项在选中后,似乎会在详细视图中启动新的UIViewController派生类。

我正在开发的应用程序需要利用尽可能多的屏幕空间,并且使用左侧停靠的菜单选项的主视图不会增加太多价值;它实际上阻碍了应用程序。

所以我实际上要做的事情是双重的:

  1. 以横向方式取消停靠的主视图
  2. 在主视图中选择一行(菜单选项)将新的UIViewController派生类加载到详细视图中。
  3. 我分别看到了各自的例子:

    1. http://vimeo.com/13054813(隐藏UISplitViewController的根视图)
    2. http://bit.ly/aypcr0(来自Apple的MultipleDetailViews代码示例)
    3. 然而,我似乎无法让这两者一起工作。

      使用这种方法的原因是我有多个UIViewController - 派生类,我想在选择适当的菜单选项时显示它们。我可以实例化它们并将它们的视图添加到现有的详细视图中,它们将显示正常。问题是除了viewDidLoad之外,没有任何UIViewController生命周期方法被调用(例如viewWillAppear:viewDidUnload等。这还包括方向更改,这对应用程序来说是一个大问题。似乎UIViewController - 派生类的行为只有UIViewController的唯一情况是它被添加为应用程序UIWindow的子视图,或者被添加到容器类(如{{1} }或UINavigationController)。

      我是否使用UISplitViewController走上了正确的道路,还是有更好的解决方案?

      提前感谢您的所有帮助!

      贾斯汀

1 个答案:

答案 0 :(得分:3)

这是一个很好的UISplitViewController替代品,具有您想要的功能(以及更多)。它是真正的UISplitViewConroller的直接“替代”替代品。

http://mattgemmell.com/2010/07/31/mgsplitviewcontroller-for-ipad