1

NSBezierPathを使用して描画されたCocoaでカスタムコントロールを作成しましたが、状態が変更されたときにシェイプを変更したいと思います(未使用の状態=状態=標準制御エッジ)。NSViewのNSBezierPathポイントアニメーション

"NSBezierPath"と "Animation"のすべての言葉をWebで見てきましたが、運がないと感じます。

NSTimersを分解して自分自身のタイミング&のパスポイントコントロールを書き込む前に、Core Animationなどを使用してこれが可能かどうかを知っていますか?

答えて

0

NSAnimationを使用できます。独自のNSAnimationサブクラスを作成し、setCurrentProgressメソッドをオーバーライドします。 この方法では、現在のアニメーションの進行状況に基づいて、NSBezierPathのサイズ、シェイプなどを必要に応じて変更できます。その後、パスを再表示するために、ビュー内で強制的に再描画を強制することができます(デリゲートなどを介して)。

+0

ブリリアント。私はNSTimerを使った例を一緒にハックして、ビューを再描画しました - 本当にうまくいきますが、NSAnimationのサブクラス化ははるかに荘厳なアプローチになります。 ありがとう! – d2kagw