首页 > 解决方案 > 加载视图控制器时如何滚动到特定的 UITableViewCell 顶部到 UITableView 顶部

问题描述

我想在加载视图控制器时将特定的表格视图单元格滚动到顶部

这种方法工作正常。但是当单元格高度动态变化时,单元格不会滚动到顶部,而是滚动到中心

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

    let cell = tableView.dequeueReusableCell(withIdentifier: "slideshowTableViewCell", for: indexPath) as! slideshowTableViewCell

    if(self.scrollEnabled){

        let indexPath = NSIndexPath(row: self.imageId, section: 0)
        self.slideshowView.scrollToRow(at: indexPath as IndexPath, at: .top, animated: true)


        self.scrollEnabled = false
    }

标签: iosswiftuitableviewuiscrollview

解决方案


scrollToRow你应该打电话viewWillAppear

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    tblList.scrollToRow(at: Your_desired_indexPath, at: .top, animated: true)
}

推荐阅读