美文网首页
IOS开发之UILabel自适应高度

IOS开发之UILabel自适应高度

作者: 本客 | 来源:发表于2019-10-24 10:48 被阅读0次

    今天做UIlabel自适应高度的时候,快郁闷死了,后台返回的不是一个完整的字符串,所以以前的那套代码已经没有效果了,钻研了一会之后终于搞出来了,做下记录:

    1、设置最大显示行数(=0时不限制),自适应需要设置为0:

    label.numberOfLines = 0; 

    2、设置text属性的文本内容:

    label.text = @""; //内容需要够长才能显示效果

    3、设置文字自动填满Label

    [label sizeToFit];

    4、计算CGRect

    CGRect rect = [label.text boundingRectWithSize:CGSizeMake(self.view.frame.size.width - 20, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName: label.font} context:nil];

    5、重新设置UIlabel的frame

    label.frame=CGRectMake(0,0,self.view.frame.size.width - 20, rect.size.height);

    6、然后设置cell的行高为rect.size.height(可以先把rect.size.height赋值给一个全局的CGFloat对象,然后返回cell的高度时,把CGFloat对象返回)如:

    _cellHeight=rect.size.height;

    -(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath{

        return _cellHeight;

    }

    相关文章

      网友评论

          本文标题:IOS开发之UILabel自适应高度

          本文链接:https://www.haomeiwen.com/subject/ywdrvctx.html