ios设置label的高度随着内容的变化而变化

it2024-07-09  80

好吧 

 

步骤1:创建label

_GeRenJianJie = [[UILabel alloc]init];

 

步骤2:设置label

_GeRenJianJie.textColor = RGBAColor(95, 104, 115, 1); _GeRenJianJie.numberOfLines = 0; // 需要把显示行数设置成无限制 _GeRenJianJie.font = [UIFont systemFontOfSize:16]; _GeRenJianJie.textAlignment = NSTextAlignmentLeft; _GeRenJianJie.text = @“xxxx ";

 步骤三:计算label内容的大小

CGSize size = [self sizeWithStr:_GeRenJianJie.text font:_GeRenJianJie.font];

 步骤4:设置label的frame

_GeRenJianJie.frame = CGRectMake(15, 30, [UIScreen mainScreen].bounds.size.width-30, size.height); [footView addSubview:_GeRenJianJie];

 这样就搞定了

 

 

其中涉及到一个方法返回label的大小

// 定义成方法方便多个label调用 增加代码的复用性 - (CGSize)sizeWithSt:(NSString *)string font:(UIFont *)font { CGRect rect = [string boundingRectWithSize:CGSizeMake(320, 8000)//限制最大的宽度和高度 options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading |NSStringDrawingUsesLineFragmentOrigin//采用换行模式 attributes:@{NSFontAttributeName: font}//传人的字体字典 context:nil]; return rect.size; }

转载于:https://www.cnblogs.com/lishanshan/p/5531848.html

最新回复(0)