MKPinAnnotationView Image personnalisée est remplacé par le pin avec l'animation de chute
Je suis l'affichage d'avatar de l'utilisateur des images sur une MapView. Les avatars semblent s'ils sont rendus sans animation, cependant j'aimerais animer leur chute. Si j'ai mis pinView.animatesDrop de vrai, puis je perds l'avatar et il est remplacé par le pin. Comment puis-je animer la goutte de mon avatar sans l'aide de la broche?
Voici mon viewForAnnotation méthode que j'utilise:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
if ([annotation isKindOfClass:[MKUserLocation class]])
return nil;
MKPinAnnotationView* pinView = (MKPinAnnotationView*)[self.mapView dequeueReusableAnnotationViewWithIdentifier:@"MyAnnotation"];
if (!pinView) {
pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"CustomPinAnnotation"];
}
else
pinView.annotation = annotation;
//If I set this to true, my image is replaced by the pin
//pinView.animatesDrop = true;
//I'm using SDWebImage
[pinView setImageWithURL:[NSURL URLWithString:@"/pathtosomeavatar.png"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
//Adding a nice drop shadow here
pinView.layer.shadowColor = [UIColor blackColor].CGColor;
pinView.layer.shadowOffset = CGSizeMake(0, 1);
pinView.layer.shadowOpacity = 0.5;
pinView.layer.shadowRadius = 3.0;
return pinView;
}
Merci de voir stackoverflow.com/questions/9814988/...
Anna lien répond à ma question. stackoverflow.com/questions/9814988/...
Anna, merci de faire votre commentaire une réponse afin que je puisse vous donner du crédit.
Anna lien répond à ma question. stackoverflow.com/questions/9814988/...
Anna, merci de faire votre commentaire une réponse afin que je puisse vous donner du crédit.
OriginalL'auteur Billy Coover | 2012-05-08
Vous devez vous connecter pour publier un commentaire.
Lorsque vous voulez utiliser votre propre image pour une vue d'annotation, il est préférable de créer une
MKAnnotationView
au lieu d'uneMKPinAnnotationView
.Depuis
MKPinAnnotationView
est une sous-classe deMKAnnotationView
, il a unimage
bien, mais il généralement (quand vous ne l'attendez pas) l'ignore et s'affiche dans le code pin de l'image à la place.Donc, plutôt que de se battre avec elle, il est préférable d'utiliser une plaine
MKAnnotationView
.La grande chose que vous perdez en n'utilisant pas
MKPinAnnotationView
est le haut-goutte d'animation qui vous aurez à mettre en œuvre manuellement.Voir cette réponse précédente pour plus de détails:
MKMapView: au Lieu de l'Annotation Pin, un affichage personnalisé
OriginalL'auteur
Si vous êtes d'achoppement sur cette question et vous êtes sûr que vous êtes
MKAnnotationView
au lieu d'uneMKPinAnnotationView
, assurer votreMKMapView
de déléguée de la propriété n'a pas été annulé.OriginalL'auteur Adam Waite