【发布时间】:2010-01-08 12:14:53
【问题描述】:
有 5 个单元格,每个单元格都有一个动态标签。使用 heightForRowAtIndexPath 方法根据标签内容定义单元格的高度。现在,正在显示 3 个单元格。当我滚动下一个单元格时,cellForRowAtIndexPath 会被调用一次,并且在输出中任何一个(4 或 5)单元格都正确显示,但另一个单元格有第一个单元格内容(重复)。 有什么解决方案可以解决这个问题吗? cellForRowAtIndexPath 方法应该被调用 2 次。 我已经正确定义了部分和行。
【问题讨论】:
-
您可能没有正确重用单元格。请提供您的
cellForRowAtIndexPath代码示例。 -
嗨,Brij,在这种情况下,最好的办法是使用定义的重用概念。您可以重复使用,只要您需要一个与所需匹配的 cellView。在您提出的正确答案中,您永远不会这样做。在我的回答中,我提供了一种方法,可用于避免为每一行创建一个新的 cellView,而是为每种 cellView 创建一个标识符。好的,在最坏的情况下,它会为每一行创建一个 cellView,但平均而言,您将获得比每次只创建新视图更好的性能。
-
同一个表格视图被多次使用,不同的按钮点击不同的数据。数据不一样。我使用 tableview 作为模板,这就是我每次都需要重新创建单元格的原因。
标签: iphone objective-c uitableview