diff --git a/AsyncDisplayKit/ASImageNode+AnimatedImage.mm b/AsyncDisplayKit/ASImageNode+AnimatedImage.mm index de30a2a10b..f390097bc8 100644 --- a/AsyncDisplayKit/ASImageNode+AnimatedImage.mm +++ b/AsyncDisplayKit/ASImageNode+AnimatedImage.mm @@ -20,6 +20,7 @@ #import #import #import +#import #import NSString *const ASAnimatedImageDefaultRunLoopMode = NSRunLoopCommonModes; @@ -91,6 +92,17 @@ NSString *const ASAnimatedImageDefaultRunLoopMode = NSRunLoopCommonModes; } if (setCoverImage) { + [self setCoverImage:coverImage]; + } +} + +- (void)setCoverImage:(UIImage *)coverImage +{ + //If we're a network image node, we want to set the default image so + //that it will correctly be restored if it exits the range. + if ([self isKindOfClass:[ASNetworkImageNode class]]) { + [(ASNetworkImageNode *)self setDefaultImage:coverImage]; + } else { self.image = coverImage; } } @@ -172,7 +184,7 @@ NSString *const ASAnimatedImageDefaultRunLoopMode = NSRunLoopCommonModes; [super didEnterVisibleState]; if (self.animatedImage.coverImageReady) { - self.image = self.animatedImage.coverImage; + [self setCoverImage:self.animatedImage.coverImage]; } [self startAnimating]; }