12

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

4

3 回答 3

27

是的你可以。这完全出自 Apple 文档。

当弹出框由于用户在弹出框视图之外点击而被关闭时,弹出框会自动通知其代理该操作。如果您提供委托,则可以使用此对象来防止弹出框的解除或执行其他操作以响应解除。委托方法允许您控制弹出框是否应该真正被popoverControllerShouldDismissPopover:解除。如果您的委托未实现该方法,或者您的实现返回 YES,则控制器将关闭弹出框并向popoverControllerDidDismissPopover:委托发送消息。

只需向委托方法返回 NOpopoverControllerShouldDismissPopover:

这是进一步阅读的链接。

弹出框指南

于 2011-08-20T02:40:31.387 回答
4
- (BOOL) popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
{
    return NO;
}

这为您完成了它,您可以在弹出窗口中分配特定的栏按钮项或其他内容以关闭弹出窗口。

于 2011-08-20T13:37:53.787 回答
1

即使你可以使用

self.modallnpopover = yes;

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

self.modallnpopover = no;

如果你不想解雇它

于 2012-12-21T05:20:01.050 回答