在界面佈局中,UILabel的寬高的計算是少不了的,這裏我把UILabel寬高的計算寫在了UILabel的類目中,具體實現如下:
.h文件
#import <UIKit/UIKit.h>
@interface UILabel (UILabelCategory)
- (CGSize)sizeWithMaxSize:(CGSize)maxSize;
@end
.m文件
#import "UILabel+UILabelCategory.h"
@implementation UILabel (UILabelCategory)
- (CGSize)sizeWithMaxSize:(CGSize)maxSize
{
NSDictionary *dict = @{NSFontAttributeName: self.font};
//如果將來計算的文本小於指定的範圍,那麼返回的就是實際大小
//如果將來計算的文本超出了指定範圍,那麼返回的就是指定範圍
CGSize size = [self.text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size;
return size;
}