UILabel+ContentSize.h#import <UIKit/UIKit.h>@interface UILabel (ContentSize)- (CGSize)contentSize;@end
UILabel+ContentSize.m
#import "UILabel+ContentSize.h"@implementation UILabel (ContentSize)- ( CGSize ) contentSize {NSMutableParagraphStyle * paragraphStyle = [[ NSMutableParagraphStyle alloc ] init ];paragraphStyle . lineBreakMode = self . lineBreakMode ;paragraphStyle . alignment = self . textAlignment ;NSDictionary * attributes = @{ NSFontAttributeName : self . font ,NSParagraphStyleAttributeName : paragraphStyle };CGSize contentSize = [ self . text boundingRectWithSize : self . frame . sizeoptions: ( NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading )attributes: attributescontext: nil ]. size ;return contentSize ;}