MKPinAnnotationView отключить выделение / выделение, но не поднимать и перетаскивать

У меня есть MKPinAnnotationView, который я хотел бы иметь возможность долго нажимать и перетаскивать, но не касаться и выбирать. Иногда пользователь будет касаться только правильного пути (короткое касание на булавке), и булавка будет выделена (темнее) вместо того, чтобы поднимать и перетаскивать. Я использую перетаскивание, чтобы показать увеличительное стекло, поэтому оно немного разрушительно, когда пользователь касается булавки и перетаскивает, но ничего не происходит.

Могу ли я установить какой-либо флаг, который предотвращает выбор булавки и всегда перетаскивает?

Я попытался установить следующие флаги:

annotationView.selected = YES;
annotationView.canShowCallout = NO;
annotationView.highlighted = NO;

Что не мешает выбору. Я тоже пробовал листать .selected в NO, Я полагаю, я мог бы переопределить -(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view но я не уверен, что я мог бы вставить туда, чтобы обойти выбор. И нет -(BOOL)shouldSelectAnnotationView... функция.

1 ответ

Скорее всего, вам придется разделить булавку на подклассы. Вот лучший пример, который я смог найти. Я не могу написать один, потому что я не на моем компьютере. https://github.com/j4n0/callout

Удачи.

Другие вопросы по тегам