我的桌面视图中有一些不同高度的单元格。不使用heightForRowAtIndexPath
方法,一切都搞砸了。我是否仍然需要使用此方法,或者我可以在IB中创建单元格的高度吗?
当使用指南中的“静态行内容技术”时,即使它们是在IB中创建的,您仍然需要使用cellForRowAtIndexPath
来设置单元格。我想用IB中的所有单元格设置tableview的完整布局(将单元格拖到tableview中),这有可能吗?
答案 0 :(得分:1)
虽然如果Interface Builder可以做到这一点会很好,但事实并非如此。为了使事情看起来正确,您必须实施heightForRowAtIndexPath:
和cellForRowAtIndexPath:
。为了让自己更容易,你可以创建一个数组,然后查看这些内容(假设表中没有太多行)。
答案 1 :(得分:-1)
是的,您必须实施heightForRowAtIndexPath
。
但是,如果您只有静态行,则不必实现cellForRowAtIndexPath
,因为静态单元格是由IB生成的。
要获取单元格及其内容(可能需要计算高度,例如,不同语言上的标签可能有不同的长度,导致不同的单元格大小等),您可以使用祖先方法,像那样:
UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];