我有一个UITableView
在 iPad 的视口中包含大约 20 行的内容。我有一个定期调用的间隔计时器UITableView's
reloadData
(将其发布到 UI 线程)。
UITableView
现在,当我以中等速度(不是那么快)滚动浏览时,它UITableView
会以闪烁的效果刷新。
我必须编写一个函数来UITableViewCell
通过循环遍历数组中的所有项目来手动更新标签(这个数组保留所有显示的项目UITableView
)。我将在计时器运行而不是调用时执行此函数reloadData
(如上所述)。然后闪烁的问题就消失了。
我相信 reloadData 应该比遍历所有数据更好,因为 reloadData 只会刷新当前显示的单元格而不是所有行,但我无法弄清楚为什么会发生闪烁。有谁知道为什么?
我必须提到的一件事是我确实使用了CellIdentifier
正确的重用单元格,并且仅在检索到的单元格为空时才创建单元格。
此外,我在 iPhone 中没有这个问题,我相信这是因为与 iPad 相比,iPhone 的行数更少。
任何人都可以就这个问题给出一些解释吗?