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

2016-05-09  本文已影响2063人  xiacheng

一、单行文本

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

二、多行文本

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

上一篇下一篇

猜你喜欢

热点阅读