Ajouter une image derrière MKPinAnnotationView
J'essaye d'ajouter une image derrière un MKPinAnnotationView. Semble comme il devrait être assez facile de le faire ici:
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
for (MKAnnotationView *aView in views)
[[aView superview] addSubview:imageView];
}
Mais le problème que j'ai à faire c'est que l'enfant sous-vue à la broche va rendre sur le dessus de lui et non DERRIÈRE.
J'ai aussi essayé:
for (MKAnnotationView *aView in views)
[[aView superview] insertSubview:imageView atIndex:1];
Le problème avec ceci est que, alors qu'il EST derrière le pin, dès que la carte est repositionné, à l'image flotte hors de l'écran.
Des suggestions? Grâce
OriginalL'auteur Adolfo | 2009-10-02
Vous devez vous connecter pour publier un commentaire.
Merci pour l'entrée, voici en gros ce que j'ai fait sans sous-classement:
J'ai seulement besoin d'un code pin, j'ai donc mis
reuseIdentifier
ànil
.Si il n'y a pas MKPinAnnotationView, MKAnnotationView ne réagissent pas à la touche. Comment résoudre le problème?
OriginalL'auteur Adolfo
J'ai sous-classé le
MKAnnotatonView
et emportait lainitWithAnnotation:resueIdentifier
etdrawRect
méthodes pour ajouter une autre image derrière le "front" de l'image.Il semble que c'est ce que Apple
MKAnnotationView
de la classe de référence est ce qui suggère que nous fassions.Seulement qu'il est délicat. Si vous êtes à la dérivation de l'
MKAnnotationView
, il y a encore l'image de la propriété existante. Ils ont fait quelque chose au sujet de l'correctement de sorte qu'il est lié avec le dessin. Peut-être, ils ont remplacé la drawRect de dessiner l'image APRÈS l'initialisation est terminée.Aussi, si vous ne définissez pas la propriété d'image, l'image de votre personnalisé
annotationView
est réglé à la taille 0, et de ladrawRect
méthode n'est pas appelée.Enfin, Apple affirme que les images doivent être totalement rempli, c'est à dire utilise un transparent de couleur pour l'arrière-plan des dessins.
: Dans votre sous-classe:
Après j'ai fait la réponse, je me rends compte que vous avez réellement envie de dessiner derrière
MKPinAnnotationView
. Ma réponse n'est pas que, bien qu'il montre l'endroit où le dessin peut-être devrait être fait. ÉvidemmentMKPinAnnottions
a sa propre méthode de tirage pour présenter une Broche et son ombre.Je pense que, probablement, vous pouvez récupérer le code Pin de l'image de soi.propriétés de l'image. Comme à l'ombre, je n'en suis pas certaine... Il est peut-être l'aide d'OPEN GL méthode de dessin pour ajouter de l'ombre, ou tout simplement en combinant une image de l'ombre.
Enfin, l'image est livré avec animation. Je devine que c'est là que l'animation est exécutée. À ce stade, cependant, je n'ai pas testé.
OriginalL'auteur Yoichi
Créer un nouveau composite annotationview qui ajoute d'abord votre image et ensuite la MKAnnotationView:
OriginalL'auteur NSSec