iPhone:设置UITableView的静态内容

时间:2010-05-12 15:19:39

标签: iphone interface-builder uitableview

来自Apple的“A Closer Look at Table-View Cells”解释了如何使用“静态行内容技术”来使用Interface Builder在tableview中设置单元格。

我的桌面视图中有一些不同高度的单元格。不使用heightForRowAtIndexPath方法,一切都搞砸了。我是否仍然需要使用此方法,或者我可以在IB中创建单元格的高度吗?

当使用指南中的“静态行内容技术”时,即使它们是在IB中创建的,您仍然需要使用cellForRowAtIndexPath来设置单元格。我想用IB中的所有单元格设置tableview的完整布局(将单元格拖到tableview中),这有可能吗?

2 个答案:

答案 0 :(得分:1)

虽然如果Interface Builder可以做到这一点会很好,但事实并非如此。为了使事情看起来正确,您必须实施heightForRowAtIndexPath:cellForRowAtIndexPath:。为了让自己更容易,你可以创建一个数组,然后查看这些内容(假设表中没有太多行)。

答案 1 :(得分:-1)

是的,您必须实施heightForRowAtIndexPath。 但是,如果您只有静态行,则不必实现cellForRowAtIndexPath,因为静态单元格是由IB生成的。

要获取单元格及其内容(可能需要计算高度,例如,不同语言上的标签可能有不同的长度,导致不同的单元格大小等),您可以使用祖先方法,像那样:

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