如何检测splitViewController隐藏?

时间:2013-03-13 09:17:17

标签: ios objective-c ipad

我正在创建使用splitViewController的iPad应用程序。当app是portrait时我想检测splitViewController的隐藏和显示。我可以检测到使用这种委托方法显示的splitViewController。

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

}

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

3 个答案:

答案 0 :(得分:1)

在提到的方法中,将委托分配给pc:

pc.delegate = self;

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

答案 1 :(得分:0)

据我了解,您希望检测masterController的可见性。如果是,请尝试:

BOOL isVisible = NO;
if ([[splitViewController viewControllers] count] > 0) {
    isVisible = [[splitViewController viewControllers] objectAtIndex:0].view.window != nil;
}

答案 2 :(得分:0)

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

的文档

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

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