Обновление выноски AnnotationView после ввода данных, введенных в View Controller, которые были переданы из вида карты - PullRequest
0 голосов
/ 16 января 2011

У меня есть простое приложение для карт с несколькими выводами на виде карты. Мое намерение состоит в том, чтобы коснуться булавки, показать выноску с дополнительным представлением, нажать на детализированный контроллер, где вы можете редактировать эту булавку / информацию о местоположении. Это все работает нормально, но как только я вытащил детализированный контроллер представления, выноска на представлении карты все еще там, что я хочу, но у нее все еще есть старые неотредактированные значения. Как я могу обновить / обновить представление выноски после того, как извлечен контроллер представления подробностей?

Я использую Core Data с простой базой данных. Я пытался использовать controllerdidchangecontent, Map View Controller, отображать методы и т. Д., Но моя основная проблема - определить, какой объект был добавлен / обновлен / удален, а какой является соответствующим выноской / выбранным выводом.

Любая помощь приветствуется ...

Ответы [ 2 ]

0 голосов
/ 06 ноября 2012

Единственный способ обновить информацию выноски - это напрямую связываться с подпредставлениями выноски.

Представление выноски - это первое подпредставление представления аннотации.

В следующем примере я обновляю субтитр. Метка заголовка - 6-я, а субтитр - 7-е подчиненное представление выноски.:

if (myAnnotationView.subviews.count > 0)
    ((UILabel*)[((UIView*)[myAnnotationView.subviews objectAtIndex:0]).subviews objectAtIndex:7]).text = @"Some example";
0 голосов
/ 12 марта 2011

Не уверен, что вы нашли свой ответ, но способ сделать это - расширить класс MKAnnotation и создать пользовательскую аннотацию и передать ее при создании меток. Позже вы можете получить их из свойства аннотации MKAnnotationView.

Смотрите хорошую реализацию здесь

http://www.slideshare.net/360conferences/getting-oriented-with-mapkit-everything-you-need-to-get-started-with-the-new-mapping-framework

...