一、单行文本
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),
应该是根据默认行间距来计算高度
NSStringDrawingUsesDeviceMetrics = (1 << 3),
利用图像边界而不是印刷体边界
NSStringDrawingTruncatesLastVisibleLine = (1 << 5)
截断并添加省略号到最后可见行如果文本不适合指定的边界。
网友评论