diff --git a/AsyncDisplayKit/ASTextNode.mm b/AsyncDisplayKit/ASTextNode.mm index 3b3c41347b..cedc1ac112 100644 --- a/AsyncDisplayKit/ASTextNode.mm +++ b/AsyncDisplayKit/ASTextNode.mm @@ -287,13 +287,19 @@ static NSString *ASTextNodeTruncationTokenAttributeName = @"ASTextNodeTruncation _renderer = nil; } -- (BOOL)_needInvalidateRenderer:(CGSize)newSize -{ - return !CGSizeEqualToSize(newSize, _constrainedSize); +- (void)_invalidateRendererIfNeeded { + [self _invalidateRendererIfNeeded:[self displaySize]]; } -- (void)_invalidateRendererIfNeeded { - [self _invalidateRendererIfNeeded:self.view.bounds.size]; +- (CGSize)displaySize { + CGSize resultSize = CGSizeZero; + if (self.isLayerBacked) { + resultSize = self.layer.bounds.size; + } else { + resultSize = self.view.bounds.size; + } + + return resultSize; } - (void)_invalidateRendererIfNeeded:(CGSize)newSize @@ -307,6 +313,11 @@ static NSString *ASTextNodeTruncationTokenAttributeName = @"ASTextNodeTruncation } } +- (BOOL)_needInvalidateRenderer:(CGSize)newSize +{ + return !CGSizeEqualToSize(newSize, _constrainedSize); +} + #pragma mark - Shadow Drawer Management - (ASTextNodeShadower *)_shadower {