我在滚动视图中使用平铺图层来显示自定义视图。自定义视图的内容会定期更改,并且我知道发生这些更改的矩形。但是我发现,如果我执行setNeedsRedisplay,只有一个图块会被重绘。如何告诉CATiledLayer仅重绘受影响的图块?

最佳答案

如果在CATiledLayer上调用setNeedsDisplay,则它将重绘其所有图块。如果改用setNeedsDisplayInRect,则它应仅重绘与您指定的矩形相交的图块。但是请注意,它将重新绘制整个图块,而不仅是与矩形相交的部分。

还请注意,在绘制过程中调用setNeedsDisplay时,CATiledLayer中的重绘错误。您可以在this question中找到更多信息。

关于ios - CATiledLayer:如何仅重载一些图块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14326722/

10-13 04:28