Я создал аннотаций со следующим:Аннотация изображения заменяется RedPushPin при длительном нажатии на аннотации
-(MKAnnotationView*)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
MKPinAnnotationView *view = nil;
if (annotation != mapView.userLocation)
{
view = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:@"myAnnotationIdentifier"];
if (!view)
view = [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@"myAnnotationIdentifier"];
if (((CustomAnnotation *)annotation).annotationType == 1)
{
view.image = [UIImage imageNamed:@"type1.png"];
view.rightCalloutAccessoryView = nil;
view.canShowCallout = YES;
}
else
{
view.image = [UIImage imageNamed:@"type2.png"];
view.rightCalloutAccessoryView = nil;
view.canShowCallout = YES;
}
}
return view;
}
Проблема: При нажатии пользователя и удерживайте в течение 2 секунд на любых аннотациях изображения (type1 или type2) , Изображение заменяется на Red PushPin (по умолчанию для iPhone MKPinAnnotationView).
Я хочу избежать этой замены. Как я могу это сделать?
Я также хотел бы знать, Могу ли я ставить RedPushPin на MKAnnotationView или нет? – Krishna
Поскольку вы используете свой собственный образ для аннотации, вы должны использовать MKAnnotationView. Однако да, у вас могут быть некоторые аннотации, которые являются MKAnnotationView, а некоторые - MKPinAnnotationView (не устанавливайте изображение на них). Используйте отдельный идентификатор повторного использования для каждого класса. – Anna
Спасибо, Анна .... – Krishna