diff --git a/Frameworks/RSTextDrawing/RSTextDrawing/RSSingleLineRenderer.m b/Frameworks/RSTextDrawing/RSTextDrawing/RSSingleLineRenderer.m index de7d5934c..b616982f0 100644 --- a/Frameworks/RSTextDrawing/RSTextDrawing/RSSingleLineRenderer.m +++ b/Frameworks/RSTextDrawing/RSTextDrawing/RSSingleLineRenderer.m @@ -120,7 +120,11 @@ static NSMutableDictionary *rendererCache = nil; - (NSSize)size { - + + if (self.title.string.length < 1) { + return NSZeroSize; + } + if (NSEqualSizes(_size, NSZeroSize)) { _size = [self calculatedSize]; } @@ -173,7 +177,7 @@ static const CGFloat kMaxHeight = 10000.0; CGContextSetFillColorWithColor(context, self.backgroundColor.CGColor); CGContextFillRect(context, r); - + CGContextSetShouldSmoothFonts(context, true); CTFrameDraw(self.frameref, context); diff --git a/Frameworks/RSTextDrawing/RSTextDrawing/RSSingleLineView.m b/Frameworks/RSTextDrawing/RSTextDrawing/RSSingleLineView.m index 97e5bf47d..ef08de438 100644 --- a/Frameworks/RSTextDrawing/RSTextDrawing/RSSingleLineView.m +++ b/Frameworks/RSTextDrawing/RSTextDrawing/RSSingleLineView.m @@ -109,7 +109,12 @@ static NSAttributedString *emptyAttributedString = nil; - (NSSize)intrinsicContentSize { if (!self.intrinsicSizeIsValid) { - self.intrinsicSize = ((RSSingleLineRenderer *)(self.renderer)).size; + if (!self.attributedStringValue) { + self.intrinsicSize = NSZeroSize; + } + else { + self.intrinsicSize = ((RSSingleLineRenderer *)(self.renderer)).size; + } self.intrinsicSizeIsValid = YES; }