我在滚动视图中使用平铺层来显示自定义视图。自定义视图的内容会定期更改,并且我知道发生这些更改的矩形。但是我发现,如果我执行 setNeedsRedisplay 只会重绘一个图块。如何告诉 CATiledLayer 仅重绘受影响的图块?
问问题
1280 次
1 回答
3
如果您在 CATiledLayer 上调用 setNeedsDisplay,则它会重绘其所有图块。如果您改用 setNeedsDisplayInRect,它应该只重绘那些与您指定的矩形相交的图块。但是请注意,它将重绘整个图块,而不仅仅是与矩形相交的部分。
还要注意在绘制过程中调用 setNeedsDisplay 时 CATiledLayer 中的重绘错误。您可以在这个问题中找到更多信息。
于 2013-03-01T15:59:45.327 回答