假设我需要重画两个非常小的区域。一个在左上角,另一个在右下角。我可以使用它们的坐标传递单个大的CGRect,其中包含要设置setNeedsDisplayInRect的两个区域,但这最终将包括很多需要重绘而不是的其他区域。
因此,另一种选择是简单地将其包含CGRects的个人传递给setNeedsDisplayInRect,一个接一个地传递给setNeedsDisplayInRect。
[self.view setNeedsDisplayInRect:rectForArea1]
[self.view setNeedsDisplayInRect:rectForArea2]
通常哪个会更快?最小化drawRect:最终被调用的次数,或最小化它必须重绘的屏幕区域的数量,即使它必须重绘两次也是如此?
最佳答案
不要紧。如here所述,iOS将始终更新整个视图,而与您传递给setNeedsDisplayInRect的内容无关:
请注意,由于iPhone / iPod touch / iPad更新其方式
屏幕上,如果您调用,整个视图将被重绘
-setNeedsDisplayInRect:或-setNeedsDisplay :。
关于ios - iOS:在 View 中有两个小的非相邻区域需要重绘时,调用setNeedsDisplay InFect的速度更快两次?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6800262/