cell文字高度自适应

1.iOS7及其以上

可以通过计算文字高度的方法输出高度


        NSString *str = [_laughtInfoDic objectForKey:@"info"];;

       UIFont *tfont = [UIFont systemFontOfSize:11.0];

        NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:tfont,NSFontAttributeName,nil];

        CGSize sizeText = [str boundingRectWithSize:CGSizeMake(ScreenWidth-5, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:dic context:nil].size;

        return sizeText.height+50;


2.iOS8及其以上

通过自适应高度的方法让系统自动进行处理


要让 table view 的 cell 自适应内容,有几个要点:

1).设置的 AutoLayout 约束必须让 cell 的 contentView 知道如何自动延展。关键点是 contentView 的 4 个边都要设置连接到内容的约束,并且内容是会动态改变尺寸的。

2).UITableView 的 rowHeight 的值要设置为 UITableViewAutomaticDimension

3).和 iOS 7 一样,可以实现 estimatedHeightForRowAtIndexPath 方法提升 table view 的第一次加载速度。

4).任何时候 cell 的 intrinsicContentSize 改变了(比如 table view 的宽度变了),都必须重新加载 table view 以更新 cell。

你可能感兴趣的:(cell文字高度自适应)