3

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

4

1 回答 1

3

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

还要注意在绘制过程中调用 setNeedsDisplay 时 CATiledLayer 中的重绘错误。您可以在这个问题中找到更多信息。

于 2013-03-01T15:59:45.327 回答