UITableView 滚动时卡顿和跳跃
Posted
技术标签:
【中文标题】UITableView 滚动时卡顿和跳跃【英文标题】:UITableView is laggy and jumps when scrolling 【发布时间】:2015-09-29 14:56:07 【问题描述】:我正在使用带有动态单元格的 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】:如果您确定延迟是由 heightforRowAtIndexPath 引起的,为什么不在图像更改时只计算每个单元格数据/索引路径的高度?
你应该只返回 dataController.Data[indexPath.row].calculatedCellHeight 之类的东西
【讨论】:
以上是关于UITableView 滚动时卡顿和跳跃的主要内容,如果未能解决你的问题,请参考以下文章
swift:从本地 json 文件填充的 uitableview 在滚动时严重卡顿
具有动态单元格高度的 UITableView 的 reloadData() 导致跳跃滚动