Animowany gif nie działa w nakładce MKMapView przy użyciu MKOverlayRenderer

Próbuję wyświetlić animowany gif w nakładce dlaMKMapView. Nakładka jest tworzona za pomocąMKOverlayRenderer. Aby animować gif w iOS 7, używamUIImage+animatedGIF kategoria opublikowanatutaj na GitHub.

Obraz animowanego gif wyświetla się dobrze w nakładce przy użyciu kategorii; jednak gif nie jest animowany. Nie mam problemu z użyciem kategorii do animowania gifa w aUIImageView ale nie działa poprawnie w nakładce widoku mapy.

Jak mogę użyć tej kategorii, aby umieścić animowany gif w nakładce widoku mapy?

lub...

Czy istnieje sposób na umieszczenieUIImageView w nakładce, która może rozwiązać mój problem, ustawiającUIImageView z animowanym gifem?

Moja podklasa renderera nakładki jest następująca:

MapOverlayRenderer.h

#import <MapKit/MapKit.h>

@interface MapOverlayRenderer : MKOverlayRenderer
- (instancetype)initWithOverlay:(id<MKOverlay>)overlay overlayImage:(UIImage *)overlayImage;
@end

MapOverlayRenderer.m

#import "MapOverlayRenderer.h"

@interface MapOverlayRenderer ()
@property (strong,nonatomic) UIImage *image;
@end

@implementation MapOverlayRenderer

- (instancetype)initWithOverlay:(id<MKOverlay>)overlay overlayImage:(UIImage *)overlayImage {

    self = [super initWithOverlay:overlay];

    if (self) {
        _image = overlayImage;
    }

    return self;
}

- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context {

    CGImageRef imageReference = self.image.CGImage;

    MKMapRect theMapRect = [self.overlay boundingMapRect];
    CGRect theRect = [self rectForMapRect:theMapRect];

    CGContextScaleCTM(context, 1.0, -1.0);
    CGContextTranslateCTM(context, 0.0, -theRect.size.height);

    CGContextDrawImage(context, theRect, imageReference);    
}

@end

W moimUIViewController, Pobieranie animowanego gifu i dodawanie nakładki przez wywołanie metody, która zawiera następujący kod:

NSURLSession *session = [NSURLSession sharedSession];

    [[session dataTaskWithURL:[NSURL URLWithString:radarUrl] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

        self.radarImage = [UIImage animatedImageWithAnimatedGIFData:data];  //for animated radar image

        dispatch_async(dispatch_get_main_queue(), ^{

            [self.mapView addOverlay:self.polygon];

        });

    }] resume];

Wszelkie sugestie dotyczące animowania gif w nakładce widoku mapy w systemie iOS 7 byłyby bardzo mile widziane.

questionAnswers(2)

yourAnswerToTheQuestion