一、單行文本
NSString *content = @"歡迎來到北京";
CGSize size =[content sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]}];
二、多行文本
- (CGRect)boundingRectWithSize:(CGSize)size
options:(NSStringDrawingOptions)options
attributes:(NSDictionary<NSString *,id> *)attributes
context:(NSStringDrawingContext *)context`
方法確定高度;
size: 矩形的大小,如CGSizeMake(kScreenWidth, MAXFLOAT)
options:
NSStringDrawingUsesLineFragmentOrigin = (1 << 0),
起點位置是行的起點,而不是原起點(沒理解)
NSStringDrawingUsesFontLeading = (1 << 1),
應(yīng)該是根據(jù)默認(rèn)行間距來計算高度
NSStringDrawingUsesDeviceMetrics = (1 << 3),
利用圖像邊界而不是印刷體邊界
NSStringDrawingTruncatesLastVisibleLine = (1 << 5)
截斷并添加省略號到最后可見行如果文本不適合指定的邊界斟冕。