天天看點

備忘-給UITabelView内的單元格分别定制高度

主要有兩行代碼,分别寫在UITableView的兩個代理方法裡面:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath(顯示單元格的内容)

- (float )tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath(定制單元高度-所有單元格的高度都一樣)

參考代碼如下:

[代碼]c#/cpp/oc代碼:

01

設定單元格内容的代理方法

02

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

03

{

04

//

05

static

NSString *cellStr = 

@"cell"

;

06

//執行個體一個myCell類的對象cell。

07

//

08

CommentCell *cell = [tableView dequeueReusableCellWithIdentifier:cellStr];

09

//

10

if

(cell == nil)

11

{

12

cell = [[CommentCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellStr];

13

}

14

15

//獲得目前評論内容的高度,指派給cell,之後定制單元格高度的時候我們隻要用到cell的高,其它參數設為0對單元格的定制是不會有影響的

16

[cell setFrame:CGRectMake(0, 0, 0, self.cellAddHight)];

17

18

return

cell;

19

}

[代碼]c#/cpp/oc代碼:

1

- (

float

)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

2

{

3

// 通過indexPath确定定制高度的是第幾行

4

UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];

5

// 傳回自适應高度

6

return

99+cell.frame.size.height;

7

}

以上的代碼是做了注釋的是主要代碼,有了這三行,再結合我之前寫的UILabe自适應高度就能寫出如下的定制UITableView效果:

備忘-給UITabelView内的單元格分别定制高度