我有一个相当复杂的问题,我将尽力描述。

我有一个iPad App和一个SplitviewController作为我的主视图。在“纵向”模式下,SplitviewController将Tableview隐藏在左侧,因此DetailviewController仅可见。到目前为止,一切都很好。

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

现在要显示Popover,我在顶部有一个工具栏,并有一个Menu按钮显示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并显示App中的工件。

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

有任何想法吗?

最佳答案

看一下Apple的以下示例代码:

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

它演示了如何通过在拆分视图应用的左侧视图中点击表中的项目来在不同的详细视图之间进行切换。

关于iphone - SplitViewController中的UIPopoverController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5647449/

10-11 01:56