博客> iOS 计算字符串高度的另类方法
iOS 计算字符串高度的另类方法
2小时前 评论:0 阅读:333 Wensidun
关于计算文本字符串的高度,网传的常见的几种方法大家应该都见多了。最近在官方文档上看到了一种方法,之前从未涉足和使用过,在此做一个分享。

float heightForStringDrawing(NSString myString, UIFont myFont, float myWidth) {

NSTextStorage *textStorage = [[NSTextStorage alloc]
    initWithString:myString];
NSTextContainer *textContainer = [[NSTextContainer alloc]
    initWithContainerSize: NSMakeSize(myWidth, FLT_MAX)];
NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init];

[layoutManager addTextContainer:textContainer];
[textStorage addLayoutManager:layoutManager];

[textStorage addAttribute:NSFontAttributeName value:myFont
    range:NSMakeRange(0, [textStorage length])];
[textContainer setLineFragmentPadding:0.0];

(void) [layoutManager glyphRangeForTextContainer:textContainer];
return [layoutManager
    usedRectForTextContainer:textContainer].size.height;

}

收藏
1
sina weixin mail 回到顶部