Остановить автоматическое отключение UIPopover - PullRequest
12 голосов
/ 20 августа 2011

Мне было интересно, есть ли способ предотвратить автоматическое отключение всплывающего окна iPad при каждом прикосновении к экрану вне всплывающего окна? Если нет, есть ли какой-то метод, похожий на «popoverDidDismiss», который я мог бы вызвать, чтобы сообщить, когда всплывающее окно было отклонено?

Ответы [ 3 ]

27 голосов
/ 20 августа 2011

Да, вы можете.Это прямо из документации Apple.

Когда всплывающее окно отклоняется из-за касаний пользователя за пределами представления всплывающего окна, оно автоматически уведомляет своего делегата о действии.Если вы предоставляете делегата, вы можете использовать этот объект для предотвращения увольнения всплывающего окна или выполнения дополнительных действий в ответ на увольнение.Метод делегата popoverControllerShouldDismissPopover: позволяет вам контролировать, должен ли всплывающий экран фактически отклоняться.Если ваш делегат не реализует метод или если ваша реализация возвращает YES, контроллер отклоняет всплывающее окно и отправляет делегату сообщение popoverControllerDidDismissPopover:.

Просто верните NO в метод делегата popoverControllerShouldDismissPopover:

Вот ссылка для дальнейшего чтения.

Popover Guide

4 голосов
/ 20 августа 2011
- (BOOL) popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
{
    return NO;
}

Это делает для вас, и вы можете назначить определенный элемент панели кнопок или что-то еще в вашем поповере, чтобы отклонить поповер.

1 голос
/ 21 декабря 2012

даже вы можете использовать

self.modallnpopover = yes;

если вы хотите отклонить его в определенном представлении

self.modallnpopover = no;

если вы не хотите его отклонять

...