3

スクロール ビューでタイル レイヤーを使用して、カスタム ビューを表示しています。カスタム ビューの内容は定期的に変更され、それらの変更が発生する四角形を知っています。ただし、setNeedsRedisplay を実行すると、タイルが 1 つだけ再描画されることがわかりました。影響を受けるタイルのみを再描画するように CATiledLayer に指示するにはどうすればよいですか?

4

1 に答える 1

3

CATiledLayer で setNeedsDisplay を呼び出すと、すべてのタイルが再描画されます。代わりに setNeedsDisplayInRect を使用すると、指定した長方形と交差するタイルのみが再描画されます。ただし、長方形と交差する部分だけでなく、タイル全体が再描画されることに注意してください。

描画中に setNeedsDisplay を呼び出すと、CATiledLayer の再描画バグにも注意してください。詳細については、この質問を参照してください。

于 2013-03-01T15:59:45.327 に答える