2011-10-12 3 views
2

J'ai rencontré quelques questions similaires ici concernant l'obtention d'une propriété de travail animée MKOverlayView avec des performances décentes (par exemple, une superposition de radar animé). Cependant, alors que les réponses m'ont aidé à avancer dans la bonne direction, je ne comprends pas encore tout à fait ce qui me manque encore.Animated MKOverlayView

J'ai essayé de faire fonctionner this UIImageView method, qui ajoute simplement un UIImageView comme sous-vue de MKOverlayView, puis ajoute les images nécessaires dans la séquence d'animation à sa propriété animationImages. Cela ne semble pas fonctionner pour moi car UIImageView et ses images associées ne sont jamais rendus. J'ai même essayé d'appeler setNeedsDisplay sur la vue de superposition qui n'aide pas non plus. Dans mon exemple, les images utilisées dans l'animation doivent d'abord être chargées à partir d'un serveur distant et mises à jour assez fréquemment.

Il ya aussi this method qui suggère d'utiliser cocos2D pour installer une image-objet animée, que j'aimerais éviter si la méthode ci-dessus avec UIImageView fonctionne correctement.

Cela fait deux jours que je me bats avec ça, alors il y a probablement quelque chose qui me manque complètement? Dois-je utiliser Core Graphics pour faire le dessin de la même manière que dans DrawMapRect: zoomScale: inContext: méthode (que j'ai aussi essayé mais qui n'a pas fonctionné)?

+0

n'a jamais été en mesure d'obtenir un MKOverlayView animé travailler efficacement sans être saccadé et ayant MKMapView rendu automatiquement ses vues en CATiledLayers. Par conséquent, j'ai recouru simplement à superposer un UIImageView au sommet de la vue de la carte lorsque l'animation est activée et à l'animer en utilisant [view startAnimating]. Je redimensionne et déplace le UIImageView à chaque fois que la vue de la carte se déplace, donc il n'est pas vraiment visible qu'elle ne fait pas partie de la vue de la carte. – u10int

+0

Avez-vous un code d'exemple que vous partagez du code? – sridvijay

Répondre

Questions connexes