阻止Popover自动解散

时间:2011-08-20 02:30:44

标签: objective-c ios ipad uipopover

我想知道是否有办法阻止iPad popover在弹出窗口外触摸屏幕时自动解除?如果没有,是否有某种类似于“popoverDidDismiss”的方法,我可以在弹出窗口被解除时调用它?

3 个答案:

答案 0 :(得分:27)

是的,你可以。这完全取决于Apple文档。

当popover视图外部的用户点击导致弹出窗口被解除时,popover会自动通知其委托人该操作。如果您提供委托,则可以使用此对象来阻止解除弹出窗口或执行其他操作以响应解雇。 popoverControllerShouldDismissPopover:委托方法允许您控制是否应该实际解除弹出窗口。如果您的委托没有实现该方法,或者您的实现返回YES,则控制器会解除弹出窗口并向委托发送popoverControllerDidDismissPopover:消息。

只需将NO返回给委托方法popoverControllerShouldDismissPopover:

以下是进一步阅读的链接。

Popover Guide

答案 1 :(得分:4)

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

这适合你,你可以在你的弹出框中指定一个特定的条形按钮项目或其他东西来解除弹出窗口。

答案 2 :(得分:1)

即使你可以使用

self.modallnpopover = yes;

如果您想在特定视图中将其关闭

self.modallnpopover = no;

如果你不想解雇它