2012-04-21 12 views
2

TestViewUIViewから継承され、すべてがdrawRectメソッドを使用して描画されます。なぜiPadでは、self.clearsContextBeforeDrawing = NO;描画前にdrawRect自体が消去されないようにする

しかし、私はdrawRectを描画する前にビューをクリアしたくない場合は、私がinitWithFrame方法で

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 

を使用しました。

drawRect方法はViewControllerイベントハンドラで

[self.view setNeedsDisplay]; 

を使用することによって呼び出されます。 (touchesMovedイベントの場合)

しかし、何かが描画される前にすべてクリアされますか?それを動作させるには?

答えて

2

私はthisと答えています。答えから:

次の手順で消去されることから内容を防ぐことはできません。

[自己setClearsContextBeforeDrawing:NO];

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

+0

良い...これは重要なコンセプトです...私はWin32プログラミングを行っていた昔、画面に直接描画することができました...これがiOSで可能かどうかをチェックしましょう –

関連する問題