使用rect参数为drawRect方法在自定义UIView

问题描述:

我怎么可能使用在drawRect调用中传递的rect参数,无论何时setNeedsDisplayInRect被传递,为特定区域调用drawRect方法。现在我重画整个框架的文本和形状,而不是约束到需要重绘的矩形部分,我不知道如何有效地使用矩形参数。有关这方面的任何见解都会有所帮助。使用rect参数为drawRect方法在自定义UIView

矩形是要重绘的区域。在某些情况下,UIKit只会重绘您视图中的“脏”区域。你可以优化你的代码,通过使用CGRectContainsPoint()来检测一些绘图会发生在这个矩形之外,因此不这样做。

+0

谢谢,它的作品,只是澄清,因为我的绘制字符串使用矩形,我将不得不使用CGRectContainsRect()而不是CGRectContainsPoint(),不是吗?如果用于表格单元格视图, 也会影响性能 – Friendtam

+0

您可以使用CGRectContainsRect()作为字符串。取决于Apple对单元绘图代码的实现,有一个潜在的速度提升。您可以进行简单的刷新和滚动测试,并将计数器作为基准,如果有好处。在我看来,除非在你的单元上有一些大的渲染,那么性能增益就会很小。 – Resh32