美文网首页
boundingRectWithSize高度计算不准确

boundingRectWithSize高度计算不准确

作者: 结局怎么写 | 来源:发表于2016-09-02 09:50 被阅读2335次
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSString *, id> *)attributes context:(nullable NSStringDrawingContext *)context NS_AVAILABLE(10_11, 7_0);

这个方法是 iOS7 以后根据宽高属性计算字符串高度的一个方式.不同的属性会计算出不同的值.具体的可以谷歌下NSStringDrawingOptions.
这里只讨论计算多行的高度.

1.请设置NSStringDrawingOptions的值为

NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin

2.用到NSParagraphStyleAttributeName属性时

不要设置NSMutableParagraphStyle.lineBreakMode
NSLineBreakByClipping
NSLineBreakByTruncatingHead
NSLineBreakByTruncatingMiddle
NSLineBreakByTruncatingTail
不然高度会一直为一行.

如果用这个方法计算高度跟预想的不一样,一般是各种属性设置不正确,可以检查或者删除一些不影响高度计算的属性再去尝试.

相关文章

网友评论

      本文标题: boundingRectWithSize高度计算不准确

      本文链接:https://www.haomeiwen.com/subject/ghmhettx.html