(原創)iOS中cell高度自適應方法UITableView設置

一:修改tableView 的heightForRowAtIndexPath代理方法,每一行都設置爲動態高度

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

    UILabel *strLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 216, 50)];
    strLabel.text = @"7359215783296175893217632157092379230176392105kgdlsagjkdslagkdasljgkdajgldsklagjlskdjgksajglskdjgsdgkasldjgklsdjgks"; //自己的字符串
    strLabel.numberOfLines = 0; //爲0不重要
    strLabel.lineBreakMode = NSLineBreakByWordWrapping;
    strLabel.font = [UIFont systemFontOfSize:15.0]; //字體選對了,文本高度纔算的準
    CGRect tmpRect = [strLabel.text boundingRectWithSize:CGSizeMake(216, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:strLabel.font,NSFontAttributeName, nil] context:nil]; //216是寬度(重要),1000只要很大就行了。
    CGFloat nameH = tmpRect.size.height;

    return nameH+35;
}

二:在cell的xib設置裏,設置這個高度動態變化的label(或者你的其他控件)的最大行數

這裏寫圖片描述

總結:涉及到UILabel高度自適應裏面文本高度,以及cell的設置。如果cell裏面是圖片數量不固定,可以嵌入UICollectionView或者本文中方法改變控件。

發佈了33 篇原創文章 · 獲贊 8 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章