2016-07-08 12 views
1

私はビューのどこから私は静的なデータを表示するUIPopoverPresentationcontrollerを提示しています。 詳細については、下記のコードをご覧ください。それは自動的に却下されたとして、私は単にビューに触れたとき、私は「ポップアップ」ビューを閉じるためのコードを書いていなかったとして閉じるときにUIPopoverPresentationControllerのイベントを取得します

- (void)openPopupScreen:(id)sender { 

    PopupViewController *popupVC = [self.storyboard instantiateViewControllerWithIdentifier:@"popupViewController"]; 
    popupVC.delegate = self; 
    popupVC.preferredContentSize = CGSizeMake(220.0f, 230.0f); 
    popupVC.modalPresentationStyle = UIModalPresentationPopover; 
    _popupView = popupVC.popoverPresentationController; 
    self.popupView.delegate = self; 
    self.popupView.sourceView = self.view; 
    self.popupView.backgroundColor = [UIColor whiteColor]; 
    CGRect rect = CGRectMake(0.0f, 0.0f, 220.0f, 230.0f);   
    self.popupView.sourceRect = rect; 
    [self presentViewController:popupVC animated:YES completion:nil]; 
} 

私の質問は、ポップアップが解除されたときにイベントが必要なことです。

ありがとうございます。

答えて

2

を試してみてください。 UIPopoverPresentationControllerDelegate法の

self.popupView.delegate = self; 

一覧。

1)ポップオーバーコントローラがポップオーバーを解除するときに、デリゲートで呼び出されます。ビューの解除// を防止するためにNOを返します。

- (BOOL)popoverPresentationControllerShouldDismissPopover:(UIPopoverPresentationController *)popoverPresentationController; 

2)ユーザーがポップオーバーを解除する操作を行ったときに、デリゲートで呼び出されます。これは、Popoverがプログラム的に調整されていないときは呼び出されません。

- (void)popoverPresentationControllerDidDismissPopover:(UIPopoverPresentationController *)popoverPresentationController; 

3)ポップオーバーが表示されようとしていることをデリゲートに通知します。

- (void)prepareForPopoverPresentation:(UIPopoverPresentationController *)popoverPresentationController; 

詳細については、Apple Developer linkをご確認ください。

参考のため、ポップアップを閉じるとpopoverPresentationControllerDidDismissPopoverが呼び出されます。

ご希望の場合はご利用ください。

0

UIPopoverPresentationControllerDelegateを具体的には、popoverPresentationControllerDidDismissPopoverの方法で見る。既に下記の文でUIPopoverPresentationControllerDelegateのデリゲートを適用していたとして

+0

お返事ありがとうございます。 – Nikita

0

はUIPopoverControllerDelegate方法

- (void) popoverControllerDidDismissPopover:(UIPopoverController *) popoverController { 
    //do stuff here... 
} 
+0

お返事ありがとうございます。 – Nikita

関連する問題