2013-03-13 33 views
0

我正在创建使用splitViewController的iPad应用程序。当应用程序是肖像我想检测splitViewController隐藏和显示。我可以检测到显示使用此委托方法的splitViewController。如何检测splitViewController隐藏?

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

} 

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

回答

1

中提到的方法,分配委托到PC:

pc.delegate = self; 

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

+0

非常感谢。但是当隐藏splitViewController时总是不会触发这个方法。 – hmlasnk 2013-03-13 09:41:30

0

据我所知你想检测masterController的可见性。如果是的话,试试这个:

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

不,我想在MasterViewController隐藏时触发方法。 – hmlasnk 2013-03-13 09:30:57

+0

噢,对不起,我的意思是主人关闭课程,代码片段是正确的。 – 2013-03-13 09:47:16

0

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

而且从文档中我们可以看到,你只需要使用的文件:

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

此方法仅在视图旋转时调用。但我想在肖像上做这个。 – hmlasnk 2013-03-13 09:54:44