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:
Alle Vorschläge zur Animation eines Gifs in einem iOS 7-Kartenansicht-Overlay werden sehr geschätzt.
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.
Tags und Links objective-c uiimageview ios7 mapkit mkoverlay