Swift中的UITableView:不预先加载屏幕外单元格

时间:2015-05-10 14:25:57

标签: xcode uitableview swift

我对UITableView有一点问题。首次向下滚动时,不会加载屏幕外的单元格。当我向上滚动(以便不再显示单元格在屏幕外)并再次向下滚动时,它们会突然显示出来。我认为这与dequeueReusableCellWithIdentifier有关。知道如何解决这个问题吗?

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! CustomCellClass
return cell

2 个答案:

答案 0 :(得分:2)

这是UITableView的预期行为。 UITableView的重点是排队所需的单元格并释放管理内存所不需要的单元格。

如果您希望单元格全部加载(我建议不要这样,可怕的性能和内存使用情况),请填充滚动视图,其中每个行都会偏移一些y常量的视图。

再一次,由于某种原因没有加载单元格,这是UITableView的全部要点。 Apple没有执行加载全部实现,我认为你也不应该这样做。

答案 1 :(得分:0)

enter image description here

好像我已经检查了导致此行为的单元格的隐藏选项。删除后,它可以完美运行。