私はQuartz 2D Programming Guideの関連部分であると思っていますが、以下の答えを見つけることはできません。ドキュメント内のiOSについてたくさんあります):オフスクリーン描画のためのUIViewからCGLayerを作成する方法
私のアプリケーションはUIView
に図面を表示します。毎回、図面を何らかの方法で更新する必要があります。いずれかの図形の塗りつぶし色を変更してください(後で別の塗りつぶし色で再描画できるように、重要な図形にCGPathRefs
を保持します)。私はその後、
CGContextRef offscreenContext = CGLayerGetContext(offscreenLayer);
:セクション上記文献の169ページの「CGLayerした描画」で説明したように、私はそうのように、CGLayer
から得るでしょうCGContext
に図面全体を描画することを考えていました。 UIView
さんのdrawRectでの私のUIViewにCGLayer
をCGContext
にオフスクリーンの私の更新を行うと描くことができます:メソッドを、そのように:私はから私のCGLayer
を得るのですか、私が午前問題がある
CGContextDrawLayerAtPoint(viewContext, CGPointZero, offscreenLayer);
を、 ?私の理解はCGLayerCreateWithContext
を使ってそれを作って、それがほとんどのプロパティを継承するパラメータとしてCGContext
を供給しなければならないということです。明らかに、右の文脈では、私が
CGContextRef viewContext = UIGraphicsGetCurrentContext();
を取得していますが、私は間違っていないよ場合は、私が唯一drawRect
以内にそれを得ることができることを、UIView
の文脈のようになります。この方法、あることを前提として有効ではありません私がそこに与えた文脈は、メソッドが呼び出された次回と同じものになります。つまり、メソッド内でローカルにしか使用できません。
だから、どのように私は私がに描き、その後、戻って私のUIView
年代CGContext
に層全体を描画するオフスクリーンCGContext
を作成するために、私のCGLayer
を初期化するために使用することができますCGContext
を得ることができますか?
PS:あなたはそれにいる間です。上記の何かが理にかなっていない、または正気でない場合は、私に知らせてください。私はQuartz 2Dの周りに頭を浮かべています。
私はCGLayerの問題に悩まされていますが、私の感動的な機能でそれを書く方法を理解していません。あなたは私の投稿を見てください。http://stackoverflow.com/questions/11341763/how-to- – Ranjit
CGContextBeginPath()とCGContextClosePath()は、コンテキストのパラメータをとります。 – Ant