SplitViewController中的UIPopoverController

时间:2011-04-13 10:04:49

标签: iphone ipad delegates uisplitviewcontroller uipopovercontroller

我有一个相当复杂的问题,我将尽可能地描述它。

我有一个iPad应用程序和一个SplitviewController作为我的主视图。在纵向模式下,SplitviewController将Tableview隐藏在左侧,以便DetailviewController仅可见。到目前为止一切都很好。

根据我的理解,你使用它的方式是,如果我点击左边的单元格,我会用我要显示的新视图将Detailview替换为右边。为此,我使用viewControllers属性。

现在显示Popover我顶部有一个工具栏,菜单按钮显示Popover。

这就是事情:

我点击一个单元格,并用一个新的Viewcontroller替换DetailviewController。但是现在Popovercontroller已经不见了,因为它是在旧的ViewController的标题中声明的。

问题:当我在端口模式下点击菜单按钮时,弹出窗口不能显示,因为它现在是零,因为它还没有启动。

但我可以做的是:我将iPad旋转到风景,然后再将其旋转回来。弹出窗口返回,因为在splitviewcontroller的委托方法中发生以下情况:

- (void) splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {

    self.popoverController = pc;
}

这款电脑来自哪里?我怎么能自己做。

如果我尝试重新分配Popovercontroller,则会破坏SplitviewController并显示应用程序中的工件。

我希望我能很好地解释我的问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

看一下Apple的示例代码:

http://developer.apple.com/library/ios/samplecode/MultipleDetailViews/Introduction/Intro.html

它演示了如何通过点击拆分视图应用程序左侧视图中表格中的项目来切换不同的详细信息视图。