iOS中Cell高度如何實現自動適應內容

2021-07-05 01:20:54 字數 3138 閱讀 4247

1.先建立

customtableviewcell.h 和 customtableviewcell.m (注意該類繼承於:

uiviewcontroller)

在customtableviewcell.h新增以下屬性和方法

////  customtableviewcell.h

//  cell高度自適應 //

//  created by rimi on 15/9/2.

//#import

@inte***ce customtableviewcell : uitableviewcell

@property (nonatomic ,strong) uilabel *username;            //使用者名稱

@property (nonatomic ,strong) uilabel *interduction;    // 使用者簡介

@property (nonatomic ,strong) uiimageview *userimage;   // 使用者頭像

- (void)setinterductiontextheight:(nsstring *)text;

@end

customtableviewcell.m

中的實現如下

////  customtableviewcell.m

//  cell高度自適應

////  created by rimi on 15/9/2.

//#import "customtableviewcell.h"

@implementation customtableviewcell

// 重寫父類的 initwithstyle:(uitableviewcellstyle)style reuseidentifier:(nsstring *)reuseidentifie的方法

- (instancetype)initwithstyle:(uitableviewcellstyle)style reuseidentifier:(nsstring *)reuseidentifier

return self;

}/**

*  方法返回interduction(使用者介紹文字)的寬度 *

*  @param text 使用者所介紹的文字

*/- (void)setinterductiontextheight:(nsstring *)text

context:nil].size;

frame.size.height = labelsize.height + 100;

self.frame = frame;

}/**

*  username ----getter

*  懶載入

*  @return 返回使用者名稱的labele

*/- (uilabel *)username

return _username;

}/**

*  interduction ---getter

*  懶載入

*  @return 返回用書介紹的label

*/- (uilabel *)interduction

return _interduction;

}/**

*  userimage ---getter

*  懶載入

*  @return 返回使用者頭像

*/- (uiimageview *)userimage

return _userimage;

}@end

至此自定義cell已經書寫完成接下來只需將其新增到檢視中去即可

2.建立

tableviewcontroller.h 和 tableviewcontroller.m檔案

這裡tableviewcontroller.h檔案中不做任何改變只需在tableviewcontroller.m檔案中做實現具體實現方式如下:

////  tableviewcontroller.m

//  cell高度自適應 //

//  created by rimi on 15/9/2.

//#import "tableviewcontroller.h"

#import "customtableviewcell.h"

@inte***ce tableviewcontroller ()

@property (nonatomic,strong) uitableview *tableview;

@end

@implementation tableviewcontroller

// 檢視載入

- (void)viewdidload

// 設定單元格 組數

- (nsinteger)numberofsectionsintableview:(uitableview *)tableview

// 設定每組所包含的單元格行數

- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section

// 很據每乙個cell返回每一行的高度

- (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath

// 自定義單元格的使用

- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

// 新增資料

if (indexpath.row == 0) else if (indexpath.row == 2) else

return cell;

}/**

*  tableeview getter

**  @return 返回**檢視 */

-(uitableview *)tableview

return _tableview;

}@end

書寫完以上內容就算大功告成。效果就是這樣:

ios實現動態載入cell高度

也許你會遇到這樣乙個問題,或者需要這麼乙個功能。表中每個單元格的高度隨著該單元格的內容多少而變化。尤其內容不止是文字的時候 其實要實現這個功能很簡單。首先所謂的動態分配單元格高度只是效果上看起來是這樣,其實還是跟我們平常設定 單元格高度一樣,每行先分配高度。這裡就乙個demo來說說吧 要實現這個功能...

iOS實現Cell自適應高度

1.實現uitableviewdelegate中的方法 先設定cell的contentview中label根據內容自動換行 numberoflines 0 實現uitableviewdelegate中的方法 cgfloat tableview uitableview tableview estima...

ios根據內容設定cell的高度

基本思路是 先獲取該行要顯示的文字內容,根據文字計算行高 根據文字高度來設定cell高度 cgfloat tableview uitableview tableviewheightforrowatindexpath nsindexpath indexpath cgsize textsize1 tex...