Animiertes GIF funktioniert nicht in MKMapView Overlay mit MKOverlayRenderer

8

Ich versuche, ein animiertes gif in einem Overlay für MKMapView anzuzeigen. Das Overlay wird mit MKOverlayRenderer erstellt. Um das gif in iOS 7 zu animieren, benutze ich die UIImage+animatedGIF Kategorie, die hier auf GitHub veröffentlicht wurde.

Das Bild des animierten Gifs wird im Overlay mit der Kategorie angezeigt. Das Animationsobjekt wird jedoch nicht animiert. Ich habe kein Problem damit, die Kategorie zu verwenden, um ein gif in UIImageView zu animieren, aber es scheint nicht korrekt in einem Kartenansicht-Overlay zu funktionieren.

Wie kann ich diese Kategorie verwenden, um ein animiertes Gif in ein Kartenansichts-Overlay zu platzieren?

oder ...

Gibt es eine Möglichkeit, ein UIImageView im Overlay zu platzieren, das mein Problem möglicherweise lösen könnte, indem ich UIImageView mit dem animierten GIF einstelle?

Meine Overlay-Renderer-Unterklasse ist die folgende:

MapOverlayRenderer.h

%Vor%

MapOverlayRenderer.m

%Vor%

In meinem UIViewController hole ich das animierte gif und füge das Overlay hinzu, indem ich eine Methode aufruft, die den folgenden Code enthält:

%Vor%

Alle Vorschläge zur Animation eines Gifs in einem iOS 7-Kartenansicht-Overlay werden sehr geschätzt.

    
wigging 13.12.2013, 03:29
quelle

2 Antworten

3

Ссылка

Dies ist der beste Weg, Overlays in iOS7 zu animieren

    
jhurray 22.01.2014 19:20
quelle
1

Da ein Kartenansicht-Overlay Ihre Zeichnung in CGContext hat, wird es nicht animiert - das ist ein Puffer, der zum Anzeigen von Inhalten gezeichnet und übersetzt wird, anstatt ein normaler Teil der Ansichtshierarchie zu sein . Leider müssen Sie -setNeedsDisplayInMapRect:zoomScale: wiederholt verwenden, um Animationen anzufordern. Dieses System ist etwas weniger flexibel als iOS 6 und früher, wodurch normale Ansichten auf der Karte hinzugefügt wurden.

    
incanus 13.12.2013 23:30
quelle