UITableView在延迟滚动时跳跃

时间:2015-09-29 14:56:08

标签: ios swift uitableview heightforrowatindexpath

我正在使用带有动态单元格的UITableView。每个单元格都有一些按钮,一个图像和一个标签。图像的宽度等于tableview宽度,高度可变。

我正在通过函数更新cellForRowAtIndexPath中图像的高度...以尊重纵横比。标签可以有1行或更多行。

我正在使用heightForRowAtIndexPath来设置单元格的高度。我在那里计算并返回值。

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

    let queficient = CGFloat(dataController.Data[indexPath.row].width) / self.view.frame.size.width

    let imgHeight = CGFloat(dataController.Data[indexPath.row].height) / queficient

    return 134 + imgHeight + heightForView(dataController.Data[indexPath.row].description)
}

我不知道为什么桌子在滚动时有点滞后和跳跃。

1 个答案:

答案 0 :(得分:0)

如果您确定滞后是由heightforRowAtIndexPath引起的,为什么在图像发生变化时,您只计算一次每个单元数据/索引路径的高度?

你应该只返回dataController.Data [indexPath.row] .calculatedCellHeight之类的东西