removed displaySize method, added condition to skip _invalidateRendererIfNeeded if there are no view and no layer

This commit is contained in:
Alexey Glushkov
2015-11-24 11:12:36 +03:00
parent e859f9a870
commit 01a2fd90d4

View File

@@ -289,19 +289,7 @@ static NSString *ASTextNodeTruncationTokenAttributeName = @"ASTextNodeTruncation
- (void)_invalidateRendererIfNeeded
{
[self _invalidateRendererIfNeeded:[self displaySize]];
}
- (CGSize)displaySize
{
CGSize resultSize = CGSizeZero;
if (self.isLayerBacked) {
resultSize = self.layer.bounds.size;
} else {
resultSize = self.view.bounds.size;
}
return resultSize;
[self _invalidateRendererIfNeeded:self.bounds.size];
}
- (void)_invalidateRendererIfNeeded:(CGSize)newSize
@@ -317,7 +305,8 @@ static NSString *ASTextNodeTruncationTokenAttributeName = @"ASTextNodeTruncation
- (BOOL)_needInvalidateRenderer:(CGSize)newSize
{
return !CGSizeEqualToSize(newSize, _constrainedSize);
BOOL hasViewOrLayer = self.view || self.layer;
return hasViewOrLayer && !CGSizeEqualToSize(newSize, _constrainedSize);
}
#pragma mark - Shadow Drawer Management