コアアニメーション1-紹介_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:41:15
オリジナル
913 人が閲覧しました

1. コア アニメーションの概要

* 中国語でコア アニメーションと訳されるコア アニメーションは、非常に強力なアニメーション処理 API のセットです。これを使用すると、非常に素晴らしいアニメーション効果を作成でき、多くの場合、結果は 2 倍になります。半分の努力。つまり、非常に強力な機能を少ないコードで実現できます。

* CoreアニメーションはMac OS XおよびiOSプラットフォームで使用できます。

* Boss Qiao は、2007 WWDC カンファレンスで Core Animation の力を個人的にデモンストレーションしました: クリックしてビデオを表示します

* Core Animation のアニメーション実行プロセスはバックグラウンドで動作し、メイン スレッドをブロックしません。

* Core Animation は UIView ではなく CALayer に直接作用することに注意してください。

トップに戻る

2. コア アニメーションを使用する手順

1. それを使用するには、まず QuartzCore.framework を追加し、メイン ヘッダー ファイル を導入する必要があります

2 CAAnimation オブジェクトを初期化し、アニメーション関連のプロパティをいくつか設定します

3. CALayer の addAnimation:forKey: メソッドを呼び出して CAAnimation オブジェクトを CALayer に追加し、アニメーションの実行を開始できるようにします

4. アニメーションを停止しますCALayer アニメーションの RemoveAnimationForKey: メソッドを呼び出して CALayer を実行します

トップに戻る

3. CAAnimation

* 前の説明からわかるように、アニメーションを実行するには、CAAnimation オブジェクトを初期化する必要があります。

* 実際、通常の状況では、CAAnimation のさらに多くのサブクラスを使用します。 したがって、CAAnimation の継承構造を大まかに見てみましょう。

黒い線は継承を表し、黒いテキストはクラス名を表します。白いテキストは属性を表します。その中のプロトコルとしてCAMediaTimingがあります。

1. CAAnimation の共通プロパティ

* CAAnimation はすべてのアニメーション クラスの親クラスですが、直接使用することはできません。そのサブクラスを使用する必要があります

* 共通のプロパティは次のとおりです:

1> アニメーションの継続時間

2>repeatCount: アニメーションの繰り返し数

3>timingFunction: アニメーションのリズムを制御します

timingFunction のオプションの値は次のとおりです:

kCAMediaTimingFunctionLinear (リニア): 一定の速度、比較的静的な感覚を与えます
  • kCAMediaTimingFunctionEaseIn (gradual): アニメーションはゆっくりと開始し、その後加速して消えます
  • kCAMediaTimingFunctionEaseOut (EaseOut): アニメーションは全速力で開始し、目的地に到達するために減速します
  • kCAMediaTimingFunctionEaseInEaseOut (徐々にフェードアウト): アニメーションは開始しますゆっくり、途中で加速し、その後減速して目的地に到着します。これはデフォルトのアニメーション動作です。
  • 4> デリゲート: アニメーションの実行プロセスを監視するために使用されるアニメーション エージェント

    プロキシ オブジェクトが実装する必要があるメソッドは次のとおりです: (これらのメソッドは特定のカテゴリで定義されています)

    1 @interface NSObject (CAAnimationDelegate)2 // 动画开始执行的时候触发这个方法3 - (void)animationDidStart:(CAAnimation *)anim;4 5 // 动画执行完毕的时候触发这个方法6 - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag;7 @end
    ログイン後にコピー

    *上記 紹介されたすべてのプロパティは CAAnimation に属しているため、CAAnimation のすべてのサブクラスでそれらを使用できます。

    2. その他

    * CAPropertyAnimation を直接使用することはできず、そのサブクラスを使用する必要があります

    * したがって、残るアニメーション クラスは CABasicAnimation、CAKeyframeAnimation、CATransition、CAAnimationGroup の 4 つだけです

    トップ

    4. CAPropertyAnimation

    * CAPropertyAnimation は CAAnimation のサブクラスですが、アニメーション オブジェクトを作成するには、CABasicAnimation と CAKeyframeAnimation の 2 つのサブクラスを使用する必要があります

    * NSString 型の keyPath 属性を持っています。 keyPath という名前の CALayer の特定の属性を指定し、CALayer のこの属性の値を変更して、対応するアニメーション効果を実現します。たとえば、@"position" を keyPath として指定すると、CALayer のposition 属性の値が変更されて、翻訳アニメーション効果が得られます

    * したがって、CAPropertyAnimation のサブクラス オブジェクトを初期化した後、最初に keyPath を設定し、何が必要かを把握する必要があります。 CALayer のどのプロパティで、どのようなアニメーションが実行されますか?

    著作権に関する声明: この記事はブロガー http://www.zuiniusn.com によるオリジナルの記事であり、許可なく複製することはできません。ブロガー。

    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート