Open exxbrain opened 11 years ago
Столкнулся с этой же проблемой, сначала тоже отказался от реюза, но потом до меня дошло, что реюзабельной вьюшке аннотации необходимо передать актуальную аннотацию. То есть что-то вроде того
- (YMKAnnotationView *)mapView:(YMKMapView *)sender viewForAnnotation:(id<YMKAnnotation>)annotation
{
static NSString * const kAnnotationId = @"myAnnotation";
YMKAnnotationView *annotationView = (YMKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:kAnnotationId];
if (annotationView == nil) {
annotationView = [[YMKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:kAnnotationId];
} else {
[annotationView setAnnotation:annotation];
}
return annotationView;
}
Теперь реюз работает нормально после удаления/добавления
К сожалению не могу указать конкретные шаги воспроизведения, но после добавлений, удалений и перемещений в какой-то момент перестают отображаться только что добавленные аннотации с помощью
Есть предположение, что это связано с некорректной работой метода
Т.к. после отказа от переиспользования Annotation View в методе
Заработало