2

TestViewから継承した があり、そのメソッドUIViewを使用してすべてが画面に描画されます。drawRect

drawRectしかし、描画する前にビューをクリアしたくない場合は、使用しました

self.clearsContextBeforeDrawing = NO;  
self.opaque = NO;   // also added because the doc says the rect 
                    //   passed to drawRect will be filled with 
                    //   background color first if it is set to YES

initWithFrameメソッドで。

drawRectメソッドは次を使用して呼び出されます

[self.view setNeedsDisplay];

ViewControllerイベントハンドラーで。(touchesMoved イベント用)

それでも、何かが描画される前にすべてがクリアされますか? それを機能させる方法は?

4

1 に答える 1

3

これはあなたの質問に答えると思います。答えから:

次の操作を行っても、内容が消去されるのを防ぐことはできません。

[self setClearsContextBeforeDrawing: NO];

これは、とにかく領域全体を再描画する必要がある可能性が高いため、ビューを事前にクリアしても意味がないというグラフィック エンジンへのヒントに過ぎません。ビューが自動的に消去されるのを防ぐことができますが、それに依存することはできません。

于 2012-04-21T21:22:18.550 に答える