UISplitViewController - 获取对弹出控制器的引用

时间:2014-02-14 19:42:37

标签: ios uisplitviewcontroller

我的应用有UISplitViewController,隐藏主视图时启动。
除非我旋转设备,否则以下委托方法

- (void)splitViewController:(UISplitViewController *)svc
     willHideViewController:(UIViewController *)aViewController
          withBarButtonItem:(UIBarButtonItem *)barButtonItem
       forPopoverController:(UIPopoverController *)pc {
  _masterPopover = pc;
}
永远不会调用

。这是我知道获得对popover控制器(该方法中的pc)的引用的唯一方法。

我需要能够以编程方式显示和隐藏主popover的引用,但我不能依赖用户来旋转他们的iPad。 有没有其他方法可以获得该参考?

1 个答案:

答案 0 :(得分:1)

如果隐藏了主视图,则必须调用willHideViewController 。如果是这样的话,你将获得barButtonItem,让用户召唤弹出窗口(并将其粘贴到你的界面中)。

如果这不适合你,我最好的建议是不要使用UISplitViewController。滚动你自己。 UISplitViewController一直非常差(并且你已经直接指出了它的一个主要弱点),但是自从iOS 5以来,已经有一种合法的连贯方式来编写自己的父容器控制器。所以我建议你这样做。