UI for iOS (二) -- 根据text动态获得label的宽高

来源:互联网 发布:互联网大数据云计算 编辑:程序博客网 时间:2024/05/14 17:41

情况一:根据文本得到最后一个的位置

CGSize sz = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(MAXFLOAT, 40)];CGSize linesSz = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];if(sz.width <= linesSz.width) //判断是否折行{        lastPoint = CGPointMake(label.frame.origin.x + sz.width, label.frame.origin.y);  } else {          lastPoint = CGPointMake(label.frame.origin.x + (int)sz.width % (int)linesSz.width,linesSz.height - sz.height);  } 

情况二:获取宽高:

//根据宽度求高度  content 计算的内容  width 计算的宽度 font字体大小+ (CGFloat)getHeightWithContent:(NSString *)content width:(CGFloat)width font:(CGFloat)font{    CGRect rect = [content boundingRectWithSize:CGSizeMake(width, 999)                                                           options:NSStringDrawingUsesLineFragmentOrigin                                                        attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:font]}                                                           context:nil];    return rect.size.height;}//根据高度度求宽度  content 计算的内容  Height 计算的高度 font字体大小+ (CGFloat)getWidthWithContent:(NSString *)content height:(CGFloat)height font:(CGFloat)font{    CGRect rect = [content boundingRectWithSize:CGSizeMake(999, height)                                        options:NSStringDrawingUsesLineFragmentOrigin                                     attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:font]}                                        context:nil];    return rect.size.width;}
0 0
原创粉丝点击