iOS7新出了一个boudingRectWithSize:options:attributes:context方法 计算文本尺寸:


// NSString+Extension (扩展NSString)
- (CGSize)textSizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size {
    CGSize textSize;
        NSStringDrawingOptions option = NSStringDrawingUsesFontLeading;
        // NSStringDrawingTruncatesLastVisibleLine如果文本内容超出指定的矩形限制,
                                // 文本将被截去并在最后一个字符后加上省略号
        // NSStringDrawingUsesLineFragmentOrigin选项,则该选项被忽略
        // NSStringDrawingUsesFontLeading计算行高时使用行间距。(译者注:字体大小+行间距=行高)
        NSDictionary *attributes = [NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName];
        CGRect rect = [self boundingRectWithSize:size
                                         options:option
                                      attributes:attributes
                                         context:nil];
        textSize = rect.size;
    return textSize;
}