动态调整大小的UITableViewCells

时间:2011-08-19 21:51:43

标签: objective-c ios xcode uitableview

我对iOS开发相对较新,我有一个问题,我确信答案非常简单。

我有NSArray填充UITableView。它工作得很好,但我必须手动设置每个单元格的高度。设定高度会使短文本看起来很糟糕并且会切断大量文本。

我知道有一种方法可以动态调整单元格高度。我看到它一直在应用程序中完成。我也知道它涉及Table View委托的heightForRowAtIndexPath部分。

我应该如何使用objectAtIndexPath并估算其大小以准确确定单元格的大小?

2 个答案:

答案 0 :(得分:1)

我总是使用一种简单但又缓慢的方法来实际配置单元格,然后找出它有多高。您可能会发现对于应用程序的性能来说这是不可接受的,此时您可以查看布局逻辑的哪些位可以分离出来以计算出高度。

答案 1 :(得分:1)

使用字典填充datasourceArray以执行以下操作:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return [[dataSourceArray objectAtIndex:indexPath.row] objectForKey:@"heightForTheCell"];
}

您可以在其中指定每行的特定大小。我的例子只使用了一个部分,但它让你很好地了解要编写的代码。