将拆分视图控制器添加到情节提要中时,主视图不显示

fr0*_*man 0 xcode cocoa-touch storyboard uisplitviewcontroller ios

我对情节提要非常陌生(通常对iOS编程也很新)。我正在尝试为仅iPad应用程序的故事板添加主/详细视图。到目前为止,这是我得到的:

  1. 一个主选项卡栏控制器,用于驱动我的应用程序导航。可以了
  2. 我已经从库中向MainStoryBoard添加了一个Split View Controller对象。
  3. 按住Ctrl键并从我的标签栏控制器拖动到“拆分视图控制器”,选择“关系顺序”->“视图控制器”。这样可以成功将Split View Controller添加为新的选项卡项(这就是我想要的)。

但是现在,当我运行我的应用程序并单击新选项卡项时,它只是打开了详细视图,而主视图没有显示在任何地方。我显然还没有添加任何数据,我只想确保所有事情都首先起作用。主人不会显示是否为空吗?那不是其他表控制器为我工作的方式。他们都显示了空表。这就是我在这里寻找的内容,因此可以在左侧进行详细布线。

拆分视图控制器对我来说似乎有点陌生,因为第一个控制器说“ Detail View Controller”,并依次导航到导航控制器,然后是主控的Table View Controller,然后是一个用于Detail的简单View Controller。对我来说,这一切都是有意义的,只是入口点将自己称为“详细视图控制器”。当我在没有主弹出窗口/左窗格表的情况下运行它时,将显示什么。

更新:当我从Master-Detail Application模板开始时,Split View Controller对象在该主屏幕上同时显示了Master View Controller和Detail View Controller。因此,当我将其从库中拖动时,情况有所不同。我如何在不使用模板的情况下在现有情节提要板上完成相同的任务?我在Tab控制器周围的其余导航中连接了很多,我不想重做。

谢谢。

hea*_*che 5

看起来UISplitViewController已在iOS8.1中进行了更新,以允许使用范围不仅仅限于应用程序的根视图。我已经成功实现了一个标签栏项目,它可以与UISplitViewController相连。Apple自己的文档分类通过使用一个词来确认这一点:通常。在UISplitViewController的类文档中找到:

构建应用程序的用户界面时,拆分视图控制器通常是应用程序窗口的根视图控制器。

因此,苹果公司含糊其辞,但我认为这样做是可以的。而且,我可以确认它是否有效。

现在,您还需要执行其他一些操作以防止其过早进入详细视图。我不会重新散列细节,而是阅读这篇文章,然后将其子类化为UISplitViewController:

  1. 在viewDidLoad中:将SplitViewController的委托设置为self
  2. 将UISplitViewControllerDelegate添加到协议列表
  3. 然后实现splitViewController:collapseSecondaryViewController:ontoPrimaryViewController并为整个方法或下面文章中列出的情况返回YES

iPhone上的肖像中的UISplitViewController显示详细的VC而不是master