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

一、单行文本

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)
截断并添加省略号到最后可见行如果文本不适合指定的边界。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容