- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options context:(nullable NSStringDrawingContext *)context NS_AVAILABLE(10_11, 6_0)
富文本一般會(huì)用這個(gè)方法計(jì)算高度,開發(fā)過程之中在計(jì)算高度時(shí)發(fā)現(xiàn)添加了表情之后高度計(jì)算會(huì)出錯(cuò),在網(wǎng)上看到有說NSStringDrawingOptions設(shè)置問題的(NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin),我在設(shè)置上并沒有錯(cuò)誤。
后來查資料,YYLabel有解決的方案——YYTextLayout。
YYTextLayout *layout = [YYTextLayout layoutWithContainerSize:CGSizeMake(ScreenWidth-margan, MAXFLOAT) text:attributed];
CGFloat height= layout.textBoundingSize.height;
height就是計(jì)算之后控件的高度
-end-