当用户在弹出框外按下时,我需要通过通知或其他方式知道。
谢谢
为什么不实现UIPopoverControllerDelegate
协议?
假设您有一个MyController
显示弹出框的控制器。在 MyController.h 中说它实现UIPopoverControllerDelegate
如下;
@interface DocumentViewController : UIViewController <UIPopoverControllerDelegate>
现在,在 .m 某个地方,您可以显示弹出框并将其委托设置为self
(这意味着MyController
它将成为弹出框的委托)。
UIPopoverController* pop = // init the popover here
pop.delegate = self;
此时,您可以实现该协议中列出的方法(通常,您必须实现所需的方法)。在您的情况下,您可以实现以下内容:
- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
{
// here I'm closing the popover...
}
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{
// here I closed the popover...
}
有关详细信息,请参阅UIPopoverControllerDelegate 类参考。
希望有帮助。