удаление / остановка определенного mkAnnotationView от повторного использования - PullRequest
1 голос
/ 10 августа 2010

Я играл с MapKit и столкнулся с загадочным сценарием, который я недостаточно творческий / знающий, чтобы разобраться с ним. В моем приложении карты у меня есть mapView, в который я хотел бы добавить булавки. Моя дилемма возникает из-за того, что mapView использует свои аннотации. В идеале я хотел бы нажать кнопку, а затем перетащить перетаскиваемый временный пин, чтобы записать местоположение, которое пользователь хотел бы использовать. Однако у этой аннотации нет права RightCallOutAccesoryView. Когда приходит время удалить допустимый контакт, необходимо удалить временный контакт из mapView, а затем добавить легитимный с координатами старого вывода. Очевидно, что если я сначала отброшу легальный Пин, а затем удалю temp Пин, то mapView все равно каким-то образом удастся повторно использовать annotationView для tempPin, который не имеет rightCallOutAccesoryView, когда на самом деле я просто хотите новый для легального Пина, который есть. Кто-нибудь может сказать мне, как это можно сделать?

Что мне нужно сделать в скорлупе ореха, это удалить аннотацию, а затем создать новую, не используя аннотацию старого выводаПросмотреть ...

Заранее спасибо.

1 Ответ

2 голосов
/ 29 марта 2011

Прошел почти год с тех пор, как я задал этот вопрос, но я помню, в чем заключалась моя проблема, и решение, которое я в итоге реализовал, состояло в том, что я всегда изменяю атрибуты текущего вывода, не удаляя их, а затем добавляя их заново,Я изменил его вид и изменил используемую аннотацию, и в следующий раз, когда мне понадобился временный вывод, я выделил новый и использовал его до тех пор, пока не было зафиксировано его положение и не был включен calloutaccesoryview ..

Надеюсь, этот метод поможетлюди в будущем.

...