3

我有一个相当复杂的问题,我将尽可能描述。SplitViewController中的UIPopoverController

我有一个iPad应用程序和SplitviewController作为我的主视图。在纵向模式中,SplitviewController将Tableview隐藏到左侧,以便DetailviewController仅可见。到现在为止还挺好。

您使用这种方式的方式是,据我所知,如果点击左侧的单元格,我将用右侧的Detailview替换为我想要显示的新视图。为此,我使用viewControllers属性。

现在要显示弹出窗口我有一个工具栏在顶部和一个菜单按钮来显示弹出窗口。

事情是这样的:

我点击一个细胞,并用新的viewController更换DetailviewController。但是现在Popovercontroller已经不存在了,因为它是在旧的ViewController的头文件中声明的。

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

但我可以做的是:我将iPad旋转到风景,然后再次旋转它。该酥料饼回来,bacause在以下情况中splitviewcontroller的委托方法:

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

    self.popoverController = pc; 
} 

哪里该PC从何而来?我怎么能自己做。

如果我尝试重新分配PopoverController,这将打破SplitviewController和应用程序中的工件出现。

我希望我解释得很好。

任何想法?

回答