Master Detail项目的Popover大师...如何防止它显示?

时间:2012-08-24 16:58:41

标签: ios uipopovercontroller master-detail

我使用Master详细项目作为popover,但是在一个情况下,我在详细视图中添加子视图我不希望用户能够滑出masterview popover,无论如何隐藏或暂时禁用popover?

1 个答案:

答案 0 :(得分:0)

您可以检查您的弹出窗口是否可见,并在您收到弹出窗口显示通知时将其关闭:

- (void)splitViewController:(UISplitViewController*)svc
         popoverController:(UIPopoverController*)pc 
 willPresentViewController:(UIViewController *)aViewController{
  if ([pc isPopoverVisible]) {
     [pc dismissPopoverAnimated:YES];
  }
}

如果在委托控制器(通常是详细视图控制器)中实现splitViewController:shouldHideViewController:inOrientation方法,则启动iOS5可以阻止主控制器显示在弹出窗口中:

- (BOOL)splitViewController:(UISplitViewController *)svc
   shouldHideViewController:(UIViewController *)vc
              inOrientation:(UIInterfaceOrientation)orientation
{
  return NO;
}

我相信最后的解决方案更符合您的目标。