【iOS开发】iOS 中根据文字计算高度

一、单行文本

NSString *content = @"欢迎来到北京";
CGSize size =[content sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]}];

二、多行文本

-  (CGRect)boundingRectWithSize:(CGSize)size
                       options:(NSStringDrawingOptions)options
                    attributes:(NSDictionary *)attributes
                       context:(NSStringDrawingContext *)context`

方法确定高度;
size: 矩形的大小,如CGSizeMake(kScreenWidth, MAXFLOAT)
options:
NSStringDrawingUsesLineFragmentOrigin = (1 << 0),
起点位置是行的起点,而不是原起点(没理解)
NSStringDrawingUsesFontLeading = (1 << 1),
应该是根据默认行间距来计算高度
NSStringDrawingUsesDeviceMetrics = (1 << 3),
利用图像边界而不是印刷体边界
NSStringDrawingTruncatesLastVisibleLine = (1 << 5)
截断并添加省略号到最后可见行如果文本不适合指定的边界。

你可能感兴趣的:(【iOS开发】iOS 中根据文字计算高度)