美文网首页
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