禁用解雇uipopoverview控制器

时间:2011-08-01 12:23:05

标签: objective-c ipad ios4 uipopovercontroller

当我们点击或触摸UIPopoverController之外时,

popoverview会自动解散。 我想限制这种自动弹出解雇。

4 个答案:

答案 0 :(得分:8)

self.myPopovercontroller.passthroughViews=[NSArray arrayWithObject:self.view];

答案 1 :(得分:4)

重复“is there a way NOT to have the popover dismissed when pressing outside it?

有一个非常简单而合法的解决方案。在显示UIPopoverController的视图控制器中,符合UIPopoverControllerDelegate协议并实现以下委托方法。我刚测试了这个,它确实阻止了弹出消除。

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
{
    return NO;
}

只需确保已将弹出控制器的委托设置为实现此目的的视图控制器。

您可以使用[popoverController dismissPopoverAnimated:NO];方法解除弹出窗口。

答案 2 :(得分:3)

阅读UIPopoverController文档。具体地说...

  

显示时,弹出窗口外的水龙头会导致弹出窗口   被自动解雇。允许用户与之交互   指定视图而不是解除弹出窗口,可以指定一个或   有关passthroughViews属性的更多视图。在弹出窗口内轻敲   窗口不会自动导致弹出窗口被解除。您的   查看和查看控制器代码必须处理内部的操作和事件   明确地使用popover并将dismissPopoverAnimated:方法调用为   需要的。

答案 3 :(得分:3)

在委托中实施popoverControllerShouldDismissPopover:,除非您愿意,否则可以阻止它消失。