ios – 根据该行中的单元格设置UITableView的行高

前端之家收集整理的这篇文章主要介绍了ios – 根据该行中的单元格设置UITableView的行高前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想根据该行中的单元格调整UITableView的行高.

最初,我试图使用

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

但问题是,当表加载时,调用流似乎是:

第一个电话:

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

然后打电话:

(UIViewTableCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

这意味着,在生成单元格之前,我必须告诉表格行的高度.

但是,我想要的恰恰相反,即在我的单元格生成之后,我告诉表格这行的高度.

有没有办法实现这个目标?

解决方法

根据tableView:cellForRowAtIndexPath:和tableView heightForRowAtIndexPath中的数据为每一行创建一个高度数组:只需从该数组中获取高度值.

在您的实现文件中声明:

NSMutableArray *heights;

在viewDidLoad中:初始化它:

heights = [NSMutableArray array];

在tableView:cellForRowAtIndexPath中:设置每行的高度:

[heights addObject:[NSNumber numberWithFloat:HEIGHT]];

并在tableView中的heightForRowAtIndexPath:返回所需的高度:

return [heights objectAtIndex:indexPath.row];

这应该工作,因为tableView:cellForRowAtIndexPath:为每个单元格调用,然后为每个单元格调用tableView heightForRowAtIndexPath :.

猜你在找的iOS相关文章