Domanda

Ho un MKOverlayView che visualizza animato dati radar come una serie di immagini. Il problema che ho è che le immagini radar sono tagliati in piastrelle di MapKit. Per immagini di scambio Ho un timer che chiama una funzione di aggiornamento che imposta l'immagine corrente nel mio sovrapposizione e quindi chiama il seguente

[myRadarOverlayView setNeedsDisplayInMapRect:self.mapView.visibleMapRect];

Gli aggiornamenti di sovrapposizione, ma non così una tessera alla volta in modo da ottenere un'animazione mosso. Tutte le idee su come rendere tutte le tessere animate (cioè le immagini swap) al tempo stesso esatto?

È stato utile?

Soluzione

I risolto aggiungendo un UIImageView come una visualizzazione secondaria della MKOverlayView.

  • Per animare, fermata disegno con il normale drawMapRect: zoomScale: InContext: (via una variabile di istanza / bandierina proprietà) e richiamare alla UIImageView invece (a la proprietà animationImages), poi uso startAnimating.

  • È possibile gestire panning e zoom da reinitializing l'UIImageView in risposta a MapView: regionDidChangeAnimated:.

Altri suggerimenti

C'è una richiamata quando tutte le piastrelle hanno finito di carico? Se è così, si potrebbe andare con il doppio buffering, e aggiornare il fuori campo di vista, e quindi passare in.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top