我有一个非常高的单元格,里面有大量的文本内容。 Reveal显示其高度 7000 + 。在该单元格中滚动时(它太高而需要一段时间),tableView的滚动性能特别糟糕。
在时间分析器之后的tableView滚动。它显示了其中一个子视图的drawRect:
方法成本最高。该子视图是第三方自定义textView。我断开了drawRect:
方法的回溯,如下所示:
事实证明,在非常高的单元格中滚动时,drawRect:
被多次调用。那么是什么原因导致drawRect:
在一个单元格中滚动时被调用?
答案 0 :(得分:0)
快速查看您链接的自定义text view,无论何时设置文本视图框架或边界,以及触摸事件,都会调用-setNeedsDisplayInRect:
。
看起来是UIResponder
触摸方法的罪魁祸首,在这种情况下,userInteractionEnabled
上的NO
设置为SETextView
可以解决问题。当然,您可能希望在文本视图中启用交互,但我相信您可以提出一些建议!