当用户在弹出框架外按下时,我需要通知通知或其他任何内容。
由于
答案 0 :(得分:8)
为什么不实施UIPopoverControllerDelegate
协议?
假设您有一个名为MyController
的控制器来显示弹出窗口。
在MyController.h中它表示它实现UIPopoverControllerDelegate
,如下所示;
@interface DocumentViewController : UIViewController <UIPopoverControllerDelegate>
现在,在.m某处你可以显示popover并将其委托设置为self
(这意味着MyController
将成为popover的委托。)
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 class reference。
希望有所帮助。