我在滚动视图中使用平铺图层来显示自定义视图。自定义视图的内容会定期更改,我知道发生这些更改的矩形。但是我发现,如果我执行setNeedsRedisplay,则只会重绘一个tile。如何告诉CATiledLayer仅重绘受影响的图块?
答案 0 :(得分:3)
如果您在CATiledLayer上调用setNeedsDisplay,则会重绘其所有切片。如果您使用setNeedsDisplayInRect,它应该只重绘与您指定的矩形相交的那些切片。但请注意,它将重绘整个图块,而不仅仅是与矩形相交的部分。
当您在绘图过程中调用setNeedsDisplay时,请注意CATiledLayer中的重绘错误。您可以在this question找到更多相关内容。