UITableView中非常高的单元格导致非常慢的滚动性能

时间:2015-05-28 09:02:50

标签: ios uitableview

我有一个非常高的单元格,里面有大量的文本内容。 Reveal显示其高度 7000 + 。在该单元格中滚动时(它太高而需要一段时间),tableView的滚动性能特别糟糕。

时间分析器之后的tableView滚动。它显示了其中一个子视图的drawRect:方法成本最高。该子视图是第三方自定义textView。我断开了drawRect:方法的回溯,如下所示: image

事实证明,在非常高的单元格中滚动时,drawRect:被多次调用。那么是什么原因导致drawRect:在一个单元格中滚动时被调用?

1 个答案:

答案 0 :(得分:0)

快速查看您链接的自定义text view,无论何时设置文本视图框架或边界,以及触摸事件,都会调用-setNeedsDisplayInRect:

看起来是UIResponder触摸方法的罪魁祸首,在这种情况下,userInteractionEnabled上的NO设置为SETextView可以解决问题。当然,您可能希望在文本视图中启用交互,但我相信您可以提出一些建议!