当popover消失时,我可以发出通知吗(iPad)

Bob*_*j-C 3 notifications objective-c ipad uipopovercontroller ios

当用户按下弹出框架外的时候,我需要通过通知或其他任何方式知道.

谢谢

Lor*_*o B 8

你为什么不实施UIPopoverControllerDelegate协议?

假设您有一个MyController显示弹出窗口的控制器.在MyController.h中说它实现UIPopoverControllerDelegate如下:

@interface DocumentViewController : UIViewController <UIPopoverControllerDelegate>
Run Code Online (Sandbox Code Playgroud)

现在,在.m某处你可以显示popover并将其委托设置为self(这意味着MyController它将成为popover的委托).

UIPopoverController* pop = // init the popover here
pop.delegate = self;
Run Code Online (Sandbox Code Playgroud)

此时,您可以实现该协议中列出的方法(通常必须实现所需的方法).在您的情况下,您可以实现以下内容:

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
{
    // here I'm closing the popover...
}

- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{    
    // here I closed the popover...
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅UIPopoverControllerDelegate类参考.

希望有所帮助.