0

Core Animation のコードを書き始めたばかりで、特定の問題を解決しようとしてイライラする 1 日を過ごしました。

一緒にウィザード/アシスタント スタイルのユーザー インターフェイスを構成する 2 つのレイヤーに基づくビューがあります。

1) ウィンドウ全体を端から端までグラデーションで塗りつぶすカスタム背景ビューと、左側の素敵な画像 2) 右側の小さなフレーム ビュー。 「進む」/「戻る」ボタン: ラベル、コントロール、ボタンなど

照明フィルターをアニメーション化して脈動効果を生成するサンプルコードを「盗みました」。

カスタム背景ビューの CALayer にアニメーションとフィルターを追加しました。正常に動作しますが、小さなフレーム ビューのコントロールも脈動します。

それがどのように当てはまるかを理解するのに途方に暮れており、コントロールがその下のレイヤーに適用されたフィルターの影響を受けないままになることを期待しています. 確かに、小さいビューに関連付けられている CALayerは、背景ビューのレイヤーのに合成され、そのレイヤー上のすべては影響を受けないはずです!?

私はさまざまなシナリオを試してみましたが、ここで非常に基本的なものが欠けていることは明らかです..助けてください!

4

1 に答える 1

1

CALayer のコンテンツ フィルターは、レイヤーとそのサブレイヤーに影響します。あなたの質問から、右側のビューは背景ビューのサブビューのように聞こえます。これにより、そのレイヤーが効果的に背景のレイヤーのサブレイヤーになり、フィルターもそれに適用されます。

何をしようとしているのかによっては、コンテンツ フィルターではなくバックグラウンド フィルターを使用した方がうまくいく場合があります。設定を正しく理解していれば、背景ビューのコンテンツ フィルターではなく、右側のビューに背景フィルターを設定できるはずです。

于 2009-11-20T21:12:30.027 に答える