TableView 频繁重新加载会阻止用户与单元格内按钮的交互

问题描述 投票:0回答:1

在一个屏幕上工作,其中有

UITableView
且可重复使用
UITableViewCell
以及
UIButton
操作

  • UITableView
    的重新加载频率较高(毫秒为两倍),因为重新加载频繁,单元格正在失去用户交互,并且用户很难单击单元格内的
    UIButton

因此,寻找另一种方法来实现这个场景。

swift uitableview uikit uicollectionviewcell
1个回答
0
投票

还有另一种方法来处理频繁的表更新:不要每秒调用

tableView.reloadData()
两次,而是考虑使用以下模式:

for cell in tableView.visibleCells {
    (cell as? CustomCell).configure(context: self.dataArray[tableView.indexPathForCell(cell)]
}

这将阻止表视图每秒两次进行重量级完整计算,例如 contentSize 等。仅当您的 dataArray 更新时才调用 reloadData。

如果您不需要显着的表更新,但需要刷新计时器标签之类的内容,那么这将起作用。对于这种操作,全表重新加载绝对是多余的,您只能更新可见内容单元格子视图。

© www.soinside.com 2019 - 2024. All rights reserved.