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

时间:2016-10-15 12:46:39

标签: ios swift uitableview scroll

我的tableview包含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个单元格?

1 个答案:

答案 0 :(得分:1)

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

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

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