iOSのグラフィックとアニメーション

CAAnimation階層

  1. CABasicAnimationとCAKeyframeAnimation:するCAPropertyAnimation CAAnimationは、サブクラスは、アニメーションオブジェクトを作成するためには、抽象クラスであり、その2つのサブクラスを使用すべきである
    プロパティの解析:
    上の属性名キーパスのためのCALayer(NSStringのタイプ)を指定することによって、および:キーパスをCALayerのは、対応するアニメーションを実現するために、値の変更を属性。たとえば、指定し@「位置」プロパティのkeyPat値として、パンのアニメーションを実現するためのCALayerのpositionプロパティの値を変更します。

CABasicAnimationは、するCAPropertyAnimationサブクラスは、
分析属性:
場合、fromValue:対応する属性キーパスの初期値
toValueの:対応する属性キーパスの終了値
アニメーションとして、期間の継続時間の長さは、対応する属性キーパスの値は徐々に場合、fromValueから変更しますtoValueのよう。アニメーションが終了した後FILLMODE = kCAFillModeForwards場合とremovedOnCompletion = NO、その後、層は、ステータス表示アニメーション実行を保持します。しかし、本質的には、プロパティ値または実行する前に、アニメーションの初期値の層、および実際に変更することはありません。たとえば、次の位置(0,0)のCALayerの初期値は、場合、fromValueのCABasicAnimationは(10,10)である層をこの位置に(100、100)に維持された後にアニメーションが本質的に終了しているが、toValueのは、(100、100)であります層上の又は(0,0)のための位置。

CABasicAnimation差CAKeyframeAnimation、するCAPropertyAnimationサブクラス:CABasicAnimationのみ別の値(toValueの)1つの値(場合、fromValue)から変化し、NSArrayのCAKeyframeAnimationこれらの値セーブ使用
特性が解決を:
値:即ち、上記目的にNSArray 。「キーフレーム」(キーフレーム)と呼ばれる要素の内部。指定された時間(期間)内のアニメーションオブジェクトは、順次各キーフレーム値の配列を表示します。
パス:層がパスに沿って移動するようにするには、CGPathRef \ CGMutablePathRefを設定することができます。パスは唯一のCALayer anchorPointと位置のために働きます。あなたがパスを設定した場合、値が無視されます。
keyTimes属性:フレームが各時間値は、対応する、0から1.0の範囲にある時間に対応する点に対応するキーとして指定することができるkeytimesのが設定されていない場合、各フレームの値をkeyTimes属性、各キーフレーム時間が半分になります。
CABasicAnimationは、二つのキーフレームCAKeyframeAnimationの唯一最大のように見ることができます

CAAnimationGroupを使う、CAAnimationのサブクラスは、アニメーションオブジェクトのセットを保存することができ、バック層が追加され、すべてのグループオブジェクトはCAAnimationGroupを使うオブジェクトの実行同時アニメーションすることができます。

プロパティの解決:
アニメーション:アニメーションオブジェクトのセットを保存するためにNSArray
の場合は、アニメーションオブジェクトのグループは、デフォルトで実行され、オブジェクトにBEGINTIMEをアニメーションにより、アニメーションの開始時間を変更するには楽しいことができます

CATransitionは、遷移アニメーションを作成するために使用されるCAAnimationサブクラスは、スクリーン層をアニメーション化するに、画面の外に設けることができます。トランジションアニメーション効果よりもiOSの少しのMacOS X

UINavigationControllerはCATransitionによって達成されるビューコントローラプッシュ画面アニメーションが
解決属性:
過度のアニメーション・タイプ:タイプの
サブタイプアニメーション遷移方向
startProgress:アニメーションの開始点(全体のパーセンテージでアニメーション)
endProgress:アニメーションはアニメーション全体を終了する(IN割合)

UIViewのアニメーション

直接UIViewクラスに統合UIKitにアニメーションは、内部変更の属性の一部が発生した場合、これらの変更は、UIViewのアニメーションのサポートを提供します
、アニメーションの実装の観点から気づくしたい静止UIViewクラスによって自動的に行われ、必要なアニメーション作品の実装を、しかし、 [:ゼロコンテキストnilをUIViewのbeginAnimationsでこの属性のコードに変更する必要性 ] と[UIViewのcommitAnimations]の間を

ブロックアニメーション
フレームアニメーション

おすすめ

転載: blog.csdn.net/weixin_33937913/article/details/90852757