Postion segue popover на аннотации mapkit без якоря segue - PullRequest
3 голосов
/ 02 марта 2012

У меня есть проект в xCode 4.2 с использованием раскадровок.Я использую фреймворк mapkit.Я пытаюсь расположить всплывающее окно по аннотации, выбранной пользователем с помощью segue.

Вот что у меня есть.

if([view.annotation isKindOfClass:[ContentPoint class]]) {
    NSLog(@"I see this in my log");

    [self performSegueWithIdentifier:@"ViewAudioSegue" sender:mapView.selectedAnnotations];
}

Это вызывает правильный переход, но поскольку переход имеетПри привязке к просмотру карты всплывающее окно отображается в нижней части карты, а не рядом с выбранной аннотацией.Я пробовал разных отправителей (просмотр, карта и т. Д.), Но получаю тот же результат.Есть ли способ программно установить якорь?Это ошибка, которую я получаю, не устанавливая привязку вручную "* Завершение приложения из-за необработанного исключения" NSInternalInconsistencyException ", причина:« UIStoryboardPopoverSegue должен быть представлен из элемента кнопки панели или представления. ""

Ответы [ 2 ]

0 голосов
/ 25 января 2013

Вы также можете создать скрытую кнопку, к которой вы привязываете всплывающий переход, и размещаете кнопку над аннотацией, когда она выбрана. Вот аналогичное решение с использованием табличного представления в отдельном вопросе, на который я ответил https://stackoverflow.com/a/14514837/1712892. Основное отличие состоит в том, что вам нужно будет рассчитать положение аннотации на экране и переместить туда кнопку anchorButton, а затем передать свою пользовательскую аннотацию как отправитель, когда вы выполняете переход. Я фактически делаю это в том же проекте. Если у меня будет время, я отредактирую это с примерами позже сегодня вечером.

0 голосов
/ 24 марта 2012

Я нашел свой ответ

Отключить MapKit Аннотация и popover не анимирует

Он не использует сегменты, но позволяет мне исключить все файлы пера в моем проектеи просто используйте раскадровки.

...