Есть ли возможность отклонить контроллер поповера при выборе другого объекта? - PullRequest
0 голосов
/ 06 декабря 2011

Я получил MapView, на котором я отредактировал выноску своих аннотаций, нажав контроллер UIPopover, на который я добавил несколько табличных представлений. Я хотел бы добиться того, чтобы мне не приходилось нажимать, чтобы мой поповер контроллер отклонялкогда я, например, выбираю другую аннотацию на карте. Есть ли возможность включить эти объекты в фоновом режиме, не нажимая кнопку?

Есть идеи или предложения для решения этой проблемы?

1 Ответ

1 голос
/ 06 декабря 2011

Поскольку UIPopoverController считается модальным, поведение по умолчанию соответствует описанному вами: сначала вы должны закрыть поповер, прежде чем взаимодействовать с представлением под ним.

Однако вы можете взаимодействовать с представлениями в поповере.присваивая его passthroughViews свойству:

UIPopoverController Reference Reference :

При отображении касания за пределами всплывающего окна автоматически закрывают всплывающее окно.Чтобы позволить пользователю взаимодействовать с указанными представлениями и не отклонять всплывающее окно, вы можете назначить одно или несколько представлений свойству passthroughViews.

passthroughViews

Массивпредставления, с которыми пользователь может взаимодействовать, пока отображается всплывающее окно.

@ property (nonatomic, copy) NSArray * passthroughViews

Обсуждение

Когда всплывающее окно активно, взаимодействует сдругие виды обычно отключены, пока поповер не будет отклоненПрисвоение массива представлений этому свойству позволяет обрабатывать касания вне всплывающего окна соответствующими представлениями.

Таким образом, вы должны иметь возможность взаимодействовать с вашим MapView, пока отображается всплывающее окно.

Вы можете отклонить отображаемый в данный момент всплывающий элемент, когда выберете другую аннотацию, вызвав dismissPopoverAnimated:

dismissPopoverAnimated:

Отклонить всплывающее окно программно.

  • (void) dismissPopoverAnimated: (BOOL) animated

Параметры

animated Укажите YES, чтобы анимировать увольнение всплывающего окна, или NO, чтобы немедленно отменить его..

Обсуждение

Вы можете использовать этот метод для программного отклонения всплывающего окна в ответ на нажатия внутри всплывающего окна.При нажатии за пределы содержимого всплывающего окна оно автоматически закрывается.

...