Передайте прикосновение к нижележащей кнопке UIPopoverController - PullRequest
3 голосов
/ 05 апреля 2011

У меня есть модальное представление с кнопкой «Отмена» (кнопка отменяет модальное). В модале я пихаю небольшой UIPopover.

Я пытаюсь достичь:

Когда UIPopover виден, если пользователь нажимает «Отмена», он выполняет оба действия:

  • скрыть всплывающее окно (это происходит сейчас, так как это всплывающее окно вне клика)
  • скрыть модал - как будто пользователь нажал «Отмена» без всплывающего окна

Есть ли способ сделать это?

UIPopoverControllerDelegate не предоставляет никакой помощи (или я ее не вижу :))

Спасибо:)

1 Ответ

8 голосов
/ 05 апреля 2011

Перед представлением всплывающего окна добавьте кнопку «Отмена» в массив passthroughViews всплывающего окна:

popoverController.passthroughViews = [NSArray arrayWithObject:cancelButton];

Это позволит кнопке отмены реагировать на прикосновения, пока отображается поповер, без автоматического закрытия поповера.

Затем в методе действия кнопки «Отмена» вызовите dismissPopoverAnimated: для всплывающего окна, прежде чем закрыть модальное представление.

Для этого вам нужно будет сохранить ссылку на всплывающее окно в иваре (например, popoverController).

...