3

ユーザーがポップオーバーフレームの外側を押すと、通知などで知る必要があります。

ありがとう

4

1 に答える 1

8

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クラスリファレンスを参照してください。

お役に立てば幸いです。

于 2012-06-20T15:43:35.747 に答える