2011-09-23 5 views
5

私はQuartzを理解し、それを描画する必要があるコンテキストを取得しようとしています。私がコンテキストを作成する関数を持っていて、別の関数を同じコンテキストに呼び出すと、最初のメソッドから次のメソッドにコンテキストを渡す必要がありますか?または、私はまだ同じコンテキストに描画しているので、コンテキストを必要とする任意のCGメソッドに対してUIGraphicsGetCurrentContext()を使用できますか?UIGraphicsGetCurrentContext()を理解する

答えて

13

docs for UIGraphicsGetCurrentContext()は言う:

現在のグラフィックスコンテキストは、デフォルトではnilです。 drawRect:メソッドを呼び出す前に、ビュー・オブジェクトは有効なコンテキストをスタックにプッシュします。 を最新にします。ただし、UIViewオブジェクトを使用して 図面を作成していない場合は、有効なコンテキストをUIGraphicsPushContext関数を使用して手動でスタック にプッシュする必要があります。

あなたが作成したコンテキストでUIGraphicsPushContext()を呼び出した後、他のメソッドはUIGraphicsGetCurrentContext()でそのコンテキストにアクセスできます。 drawRect:の外でUIGraphicsGetCurrentContext()を呼び出していて、UIGraphicsPushContext()で明示的にコンテキストを設定していない場合、現在のグラフィックスコンテキストは定義されていません。

+0

はこちらです。https://developer.apple.com/documentation/uikit/1623918-uigraphicsgetcurrentcontext – DeveloperACE