所以我有一个很好用的UITableView,包含3行(每行包括和图像,以及不同数量的文本字段)。
现在第4行有一个UISegmentedControl。一旦我添加它,UITableView就会滞后/跳跃/跳过。当我再拿走它时,一切都很顺利。
如何添加UISegmentedControl并仍然可以平滑滚动?
答案 0 :(得分:1)
有类似的问题。在分段控件退出视图后,向后滚动它是不稳定的。问题可能是初始化。
首先检查您是否正确使用了“dequeueReusableCellWithIdentifier”(也许您错过了为自定义单元格提供唯一ID?)
第二次检查你是否每次都在cellForRowAtIndexPath中执行removeAllSegments和insertSegmentWithTitle。将一些int添加到自定义单元格中,以告诉您它是新单元格还是具有一定数量段的重用单元格。然后在“dequeueReusableCellWithIdentifier”之后,如果单元格具有确切的段数,则不需要清除和添加。
在我的情况下,我检查了第一个而不是第二个,这使我的滚动滞后。似乎段清算和添加是一项代价高昂的操作。
希望这有帮助。
答案 1 :(得分:1)
我也有类似的问题。由于业务逻辑,我的应用程序应该以几秒的间隔更新单元格。每个单元都有一个分段控件,我正在删除所有段,并为每次更新再次添加它们。一段时间后,滚动变得非常慢。我解决了仅在确实需要时删除/添加段的问题,而不是每次更新都执行此操作。我也在使用“dequeueReusableCellWithIdentifier”。现在工作正常。