CATiledLayer:如何仅重新加载部分瓦片?

3

我正在使用一个瓷砖层在滚动视图中显示自定义视图。自定义视图的内容会定期更改,我知道这些更改发生的矩形区域。然而,我发现如果我只做setNeedsRedisplay,只有一个瓦片会被重新绘制。如何告诉CATiledLayer仅重新绘制受影响的瓦片?

1个回答

3
如果您在CATiledLayer上调用setNeedsDisplay,则它将重新绘制所有瓷砖。如果您改为使用setNeedsDisplayInRect,它应该仅重新绘制与指定矩形相交的那些瓷砖。但请注意,它将重新绘制整个瓷砖,而不仅仅是与矩形相交的部分。
此外,请注意,在CATiledLayer正在绘制过程中调用setNeedsDisplay时可能会出现重新绘制错误。有关更多信息,请参见this question

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接