重用单元如何在iOS中的UITableView中工作?

时间:2015-10-09 12:56:52

标签: ios objective-c uitableview

我有几种不同类型的UITableView。我使用2个原型单元,因为我的所有单元都可以被这两个原型覆盖。在每个原型中,我有2个标签 - 上部和下部。

我根据它们所属的部分和行动态填充这些单元格的内容。但我有重用问题。

我在其中一个单元格中设置动态图像(根据特定条件)。我的问题是,当我滚动时 - 图像出现在单元格内的下一页,不应该有这样的图像。我想这是重用的结果。

如果单元格是第二种类型,我尝试删除该图像。这在iPhone上工作正常,因为数据在不同的屏幕上(当我滚动到第二个单元格时,第一个单元格在屏幕之外)。我的问题是这不适用于iPad - 因为两个单元都在同一页面上。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

首先让我解释一下Reuseidentifier的工作原理。 让我们假设您有三个在视图中可见的单元格。

滚动你的表格第一个显示的单元格向上滚动是不可见的现在将是deque而你的第四个单元格将使用该单元格。

这很简短,我可以解释一下,但还有更多细节。

在您的情况下发生的事情是,当您滚动时,您的一个单元格可以轻松地重复用于另一个单元格。 你必须放置开关或if else正确处理它。 如果你更好地解释你的情况并添加代码cellforrow,那么可以帮助你更好。 我希望这可以帮助您解决问题。