2012-03-02 5 views
3

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

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

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

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

Это вызывает правильный SEGUE, а потому, что переход имеет якорь MapView, то поповер отображается в Боттона карты, а не рядом с выбранной аннотацией. Я пробовал разные отправители (просмотр, карта и т. Д.), Но я получаю тот же результат. Есть ли способ программно установить привязку? Это ошибка, я получаю без ручной установки якоря «* Согласующего приложение из-за неперехваченное исключение„NSInternalInconsistencyException“, причина: '. UIStoryboardPopoverSegue должна быть представлено с позицией кнопки бара или вида»

ответ

0

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

Смежные вопросы