0

我正在创建使用 splitViewController 的 iPad 应用程序。当应用程序是纵向时,我想检测 splitViewController 隐藏和显示。我可以使用此委托方法检测 splitViewController 显示。

     -(void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController
{

}

但我找不到任何方法来检测 splitViewController 隐藏。任何人都可以给我答案。谢谢

4

3 回答 3

1

在上述方法中,将委托分配给 pc:

pc.delegate = self;

并实现 UIPopoverControllerDelegate 方法- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController,该方法将在 popover 被解除时调用。

于 2013-03-13T09:34:02.207 回答
0

据我了解,您想检测 masterController 可见性。如果是,试试这个:

BOOL isVisible = NO;
if ([[splitViewController viewControllers] count] > 0) {
    isVisible = [[splitViewController viewControllers] objectAtIndex:0].view.window != nil;
}
于 2013-03-13T09:27:57.193 回答
0

您应该只阅读文档。你想要的是关于UISplitViewController 委托的文档

从文档中我们可以看到您只需要使用:

- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc
于 2013-03-13T09:30:35.257 回答