在scrollToRow之后,UITableView不可滚动

时间:2018-01-13 13:53:10

标签: ios uitableview

我有一个包含行数的表。我想在它加载之后预先滚动表格并且它不是那么难,但我有一个问题。在scrollToRow执行后,表变为不可滚动。

这是我的代码滚动功能:

func scrollToValue() {
        var scrollPosition: Int = 30
        let indexPath = IndexPath(row: scrollPosition, section: 0)
        tableView.scrollToRow(at: indexPath, at: .middle, animated: true)
}

我在viewDidLayoutSubviews执行它:

override func viewDidLayoutSubviews() {
        scrollToValue()
}

以下是我执行此代码并尝试移动桌面或底部的内容:在我的交互后,table在中间移回15.0值,但我想滚动到顶部和底部的任何其他位置没有回滚。即使我为动画scrollToRow(at: indexPath, at: .middle, animated: false)选择 false ,我根本无法移动细胞。我可以看到右边的滚动指示器,但是细胞被冻结了。

enter image description here

1 个答案:

答案 0 :(得分:1)

从layoutSubviews中删除滚动操作,因为仍未加载tableView并尝试此

override func viewDidAppear() {
    scrollToValue()
}