iOS之動態計算文字的高度,ios計算高度
+ (CGSize)boundingALLRectWithSize:(NSString *)txt Font:(UIFont *)font Size:(CGSize)size { NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:txt]; NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; [style setLineSpacing:2.0f];//切記LineSapcing >= 2,不然會顯示不全 [attributedString addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0, [txt length])]; CGSize realSize = CGSizeZero;#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_6_1 CGRect textRect = [txt boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:font, NSParagraphStyleAttributeName:style} context:nil]; realSize = textRect.size;#else realSize = [txt sizeWithFont:font constrainedToSize:size];#endif realSize.width = ceilf(realSize.width); realSize.height = ceilf(realSize.height); return realSize;}
調用:float strHeight = [Util boundingALLRectWithSize:str Font:[UIFont systemFontOfSize:14] Size:CGSizeMake(SCREEN_WIDTH-24, MAXFLOAT)].height;