描画前に CGLayer の「不透明度」を設定しますか?
質問
私はUIViewサブクラスを持っています - 実際にはパズルのピースです - initWithFrameで初期化された2つの異なるCGLayerを備えています。
drawRectでは、次のようにする必要があります この 2 つの層をブレンドします, 、一番上には 変数アルファ ゲームロジックに応じて。
これを行うための最良の (最もパフォーマンスが最適化された) 方法は何ですか?描画前にアルファを設定する CGLayer または CGContext 関数はありますか?
解決
をセットする -opacity
層の。レイヤーの -opaque
設定は NO にする必要があります。デフォルトは NO ですが、通常はパフォーマンス上の理由から YES に設定されます。
すでにやっている場合 -drawInContext:
, 、その後、実験できます CGContextSetAlpha()
. 。ただし、一般的には使用しません -drawRect:
同時にレイヤーを作成します。通常、ビューまたはレイヤーのいずれかに描画を行わせます。
所属していません StackOverflow