iOS之动态计算文字的高度_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > iOS之动态计算文字的高度

iOS之动态计算文字的高度

 2017/8/31 17:08:59  Jaycee麦子  程序员俱乐部  我要评论(0)
  • 摘要:+(CGSize)boundingALLRectWithSize:(NSString*)txtFont:(UIFont*)fontSize:(CGSize)size{NSMutableAttributedString*attributedString=[[NSMutableAttributedStringalloc]initWithString:txt];NSMutableParagraphStyle*style=[[NSMutableParagraphStylealloc]init]
  • 标签: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;

 

 

 

上一篇: Uber召开全体员工大会 新CEO科斯罗萨西正式亮相 下一篇: 没有下一篇了!
发表评论
用户名: 匿名