UITableView 以编程方式滚动到不存在的单元格

Posted

技术标签:

【中文标题】UITableView 以编程方式滚动到不存在的单元格【英文标题】:UITableView scroll to not-existsing cell programmatically 【发布时间】:2016-10-15 12:46:39 【问题描述】:

我的表格视图包含 20 个单元格。屏幕只放置了8个单元格,所以这个函数

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

调用 8 次,我只填充前 8 个单元格。

这个方法也调用了8次:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) 
            if (indexPath.row == 11)
            
                tableView.scrollToRow(at: indexPath, at: .top, animated: true)
            
        

我还没有 indexPath.row == 11。 如何滚动到第 11 个单元格?

【问题讨论】:

你用的是swift 3.0吗? 给我看你的全部代码。 【参考方案1】:

创建索引路径let indexPath = NSIndexPath(forRow: 11, inSection: 0)

然后将此 indexPath 传递为 self.tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: .Top, animated: false)

这将自动滚动到 indexPath 中提到的所需单元格。

【讨论】:

以上是关于UITableView 以编程方式滚动到不存在的单元格的主要内容,如果未能解决你的问题,请参考以下文章

动态地将单元格添加到分组的 uitableview 并以编程方式适应滚动

UITableView 滚动后以编程方式创建的 UITableViewCell 未正确显示

UITableView滚动到不需要的索引或位置

如何以编程方式在 UITableView 后面添加静态背景?

(Swift) UITableView - 尝试将索引路径移动到不存在的索引路径

为啥我的 UITableView 单元格在滚动时重叠?