我正在创建使用splitViewController的iPad应用程序。当app是portrait时我想检测splitViewController的隐藏和显示。我可以检测到使用这种委托方法显示的splitViewController。
-(void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController
{
}
但我找不到任何检测splitViewController隐藏的方法。任何人都可以给我答案。谢谢
答案 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