2016-07-08 5 views
1

У меня есть viewControllerA, откуда я представляю 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; 

Список методов UIPopoverPresentationControllerDelegate.

1) Вызывается делегату, когда контроллер popover отклоняет popover. Возврат НЕТ, чтобы предотвратить смещение представления //.

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

2) Вызывается делегату, когда пользователь принял меры, чтобы отклонить popover. Это не вызывается, когда popover автоматически уменьшается.

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

3) Уведомляет делегата о предстоящем представлении popover.

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

Для получения дополнительной информации, пожалуйста, проверьте Apple Developer link.

Для справки popoverPresentationControllerDidDismissPopover вызывается, когда вы отклоняете всплывающее окно.

Надеюсь, это сработает для вас.

0

Посмотрите на UIPopoverPresentationControllerDelegate конкретно на popoverPresentationControllerDidDismissPopover метод.

+0

Спасибо за ответ. – Nikita

0

метод попробовать UIPopoverControllerDelegate

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

Спасибо за ответ. – Nikita