UISegmentedControl使UITableView变慢/滞后?

时间:2010-02-18 09:24:34

标签: iphone uitableview iphone-sdk-3.0 uisegmentedcontrol

所以我有一个很好用的UITableView,包含3行(每行包括和图像,以及不同数量的文本字段)。

现在第4行有一个UISegmentedControl。一旦我添加它,UITableView就会滞后/跳跃/跳过。当我再拿走它时,一切都很顺利。

如何添加UISegmentedControl并仍然可以平滑滚动?

2 个答案:

答案 0 :(得分:1)

有类似的问题。在分段控件退出视图后,向后滚动它是不稳定的。问题可能是初始化。

首先检查您是否正确使用了“dequeueReusableCellWithIdentifier”(也许您错过了为自定义单元格提供唯一ID?)

第二次检查你是否每次都在cellForRowAtIndexPath中执行removeAllSegments和insertSegmentWithTitle。将一些int添加到自定义单元格中,以告诉您它是新单元格还是具有一定数量段的重用单元格。然后在“dequeueReusableCellWithIdentifier”之后,如果单元格具有确切的段数,则不需要清除和添加。

在我的情况下,我检查了第一个而不是第二个,这使我的滚动滞后。似乎段清算和添加是一项代价高昂的操作。

希望这有帮助。

答案 1 :(得分:1)

我也有类似的问题。由于业务逻辑,我的应用程序应该以几秒的间隔更新单元格。每个单元都有一个分段控件,我正在删除所有段,并为每次更新再次添加它们。一段时间后,滚动变得非常慢。我解决了仅在确实需要时删除/添加段的问题,而不是每次更新都执行此操作。我也在使用“dequeueReusableCellWithIdentifier”。现在工作正常。