0

簡単に言えば、単一の NSView で 2 つの NSGradient の「塗りつぶし」の間でフェードすることは可能ですか? 例えば。1 つのグラデーションを描画し、フェードして次のグラデーションを描画します。

4

1 に答える 1

2

最終的に NSView をサブクラス化しました。そこから NSImage を取得します。オリジナルと同じサイズの新しいグラデーションを描画し、そこから画像を取得する一時的な NSView を作成します。元の NSView のサブビューである NSImageView で開始イメージを描画します。次に CATransition を使用して、新しい画像で別の NSImageView にフェードします。最後に、NSView に新しいグラデーションを描画させ、さらにカスタム描画を行う必要がある場合に備えて NSImageView を削除します。

私のコードを GitHub で公開しました。

于 2013-01-06T12:13:31.027 に答える