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

WBOY
リリース: 2016-06-21 08:48:52
オリジナル
1122 人が閲覧しました

コア アニメーションは、非常に強力なアニメーション処理 API のセットです。これを使用すると、非常に素晴らしいアニメーション効果を作成でき、多くの場合、半分の労力で 2 倍の結果が得られます。フレームワークを導入し、対応するフレームワーク

開発手順:

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

追加アニメーション オブジェクトをレイヤー (CALayer) に追加し、アニメーションの実行を開始します

opacityposition など、CALayer の多くの属性は CAAnimation を通じてアニメーション化できます。 transformbounds contents など (API ドキュメント: CALayer Animatable Properties で検索できます)

レイヤーにアニメーションを追加します (CALayer) CALayer の addAnimation:forKey を呼び出すと、アニメーションがトリガーされます。 removeAnimationForKey を呼び出すことで、レイヤー内のアニメーションを停止できます

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

CAAnimation 継承構造

CAAnimation

アニメーションの継続時間と速度を制御するすべてのアニメーション オブジェクトの親クラスです。抽象クラスなので直接使用することはできません。直接使用するには、その特定のサブクラスを使用する必要があります。

属性分析: (赤色は CAMediaTiming プロトコルからの属性を表します)

duration:アニメーション

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

repeatDuration: アニメーションの繰り返し時間

removedOnCompletion: デフォルトは YES です。これは、アニメーションの実行後にレイヤーから削除され、グラフィックスがアニメーションの実行前の状態に復元されることを意味します。アニメーションの実行後にレイヤーの状態を維持したい場合は、これを NO に設定しますが、fillMode を kCAFillModeForwards

fillMode に設定します。非実行中の現在のオブジェクトの動作を決定します。 -active period 。たとえば、アニメーションの開始前、アニメーションの終了後

beginTime: アニメーションの遅延実行時間を設定するために使用できます。2 秒遅らせたい場合は、それを設定します。 CACurrentMediaTime()+2、CACurrentMediaTime() はレイヤーの現在時刻です。

timingFunction: 速度制御関数、アニメーション実行のリズムを制御します

delegate: アニメーション プロキシ

CAPropertyAnimatio

は CAAnimation のサブクラスであり、アニメーション オブジェクトを作成するには、次の操作を行います。 CABasicAnimation と CAKeyframeAnimation

属性分析:

keyPath: CALayer の属性名を keyPath (NSString 型) として指定し、その値を変更することで、その 2 つのサブクラスを使用する必要があります。 CALayer のこの属性により、対応するアニメーション効果を実現できます。たとえば、keyPath として @"position" を指定し、CALayer のposition 属性の値を変更して、翻訳アニメーション効果を実現します。

CABasicAnimation

サブクラスCAPropertyAnimation の

属性解析:

fromValue: keyPath 対応属性の初期値

toValue: keyPath 対応属性 以上

の値

アニメーションが進行するにつれて、継続時間中に keyPath の対応する属性の値が fromValue から toValue

If fillMode=kCAFillModeForwards およびremovedOnComletion=NO に設定すると、アニメーションの実行後、レイヤーにはアニメーションの実行後の状態が表示され続けます。しかし本質的には、レイヤーのプロパティ値はアニメーションが実行される前の初期値のままであり、実際には変更されていません。たとえば、CALayer の初期位置値は (0,0)、CABasicAnimation の fromValue は (10,10)、toValue は (100,100) ですが、アニメーションが終了した後もレイヤーは (100,100) の位置に残ります。実行される、本質的にレイヤー 位置はまだ (0,0)

CAKeyframeAnimation

CApropertyAnimation のサブクラスCABasicAnimation との違いは次のとおりです: CABasicAnimation は 1 つの値 (fromValue) から別の値 (toValue) にのみ変更でき、CAKeyframeAnimation はこれらの値を保存するために NSArray を使用します。

属性分析:

values: 上記の NSArray オブジェクトです。内部の要素は「キーフレーム」と呼ばれます。アニメーション オブジェクトは、指定された時間 (継続時間) 内で値配列内の各キーフレームを順番に表示します。

path: CGPathRefCGMutablePathRef を設定して、レイヤーをパスに沿って移動させることができます。 path は CALayer のアンカーポイントと位置でのみ機能します。パスを設定した場合、値は無視されます。

keyTimes: 対応するキー フレームに対応する時点を指定できます。値の範囲は 0 ~ 1.0 で、各 keyTimes A keyTimes が設定されていない場合、各キー フレームの時間を均等に分割します。

CABasicAnimation は、最大 2 つのキーフレームを持つ CAKeyframeAnimation と見なされます。

CAAnimationGroup

アニメーション オブジェクトのグループを保存できる CAAnimation のサブクラス。CAAnimationGroup オブジェクトをレイヤーに追加すると、グループ内のすべてのアニメーション オブジェクトを同時に実行できます。 >

属性分析:

アニメーション: アニメーション オブジェクトのグループを保存するために使用される NSArray

デフォルトでは、アニメーション オブジェクトのグループが同時に実行されます。アニメーション オブジェクトの beginTime プロパティを設定することで、アニメーションの開始時間を変更できます。

CATransition

CAAnimation のサブクラス。次の目的で使用されます。トランジション アニメーション。レイヤーが画面外と画面上で移動するのをアニメーション化する機能。 iOS のトランジション アニメーション効果は Mac OS よりも若干劣ります

type

: アニメーショントランジションタイプ

サブタイプ

: アニメーショントランジション方向

startProgress

: アニメーションの開始点 (アニメーション全体の割合)

endProgress

: アニメーションの終了点 (アニメーション全体の割合)

UIViewanimation

UIKit はアニメーションを UIView クラスに直接統合します。一部の内部プロパティが変更されると、UIView はこれらの変更に対するアニメーション サポートを提供します。

実行に必要な作業。アニメーションは UIView クラスによって自動的に完了しますが、アニメーションの実行時にビューに通知するために、[UIView beginAnimations:] の間にプロパティを変更するコードを配置する必要があります。 nil

context

:nil] および [UIView

commitAnimations

] 共通メソッド分析: + (void)setAnimationDelegate: (id)delegate

アニメーションの開始時または終了時に使用されるアニメーション プロキシ オブジェクトを設定します。 デリゲート オブジェクトにメッセージを送信します。

+ (void)setAnimationWillStartSelector :(SEL)selector

アニメーションが開始しようとしているときに、デリゲート オブジェクトのセレクターを実行し、beginAnimations:context を設定します。 :渡されたパラメーターは selector

+ (void) に渡されます。 setAnimationDidStopSelector:(SEL)selector

アニメーションが終了したら、デリゲートオブジェクトのセレクターを実行し、beginAnimations:context: で渡されたパラメーターが selector

に渡されます。 + (void)setAnimationDuration:(NSTimeInterval)duration

アニメーションの長さ (秒単位)

+ (void)setAnimationDelay:(NSTimeInterval )delay

アニメーションの遅延 開始前の遅延秒数

+ (void)setAnimationStartDate :(NSDate *)startDate

アニメーションの開始時間、デフォルト

+ (void)setAnimationCurve:(UIViewAnimationCurve)curve

アニメーション化されたリズム コントロールです。詳細については、以下の「備考」を参照してください

+ ( void)setAnimationRepeatCount:(float)repeatCount

アニメーションの繰り返し数

+ ( void)setAnimationRepeatAutoreverses:(BOOL)repeatAutoreverses

YES に設定すると、アニメーションを繰り返し実行するたびに、その効果が前回とは逆になることを意味します

+ (void)setAnimationTransition:(UIViewAnimationTransition)transition

forView

:(UIView *)view

cache

:(BOOL)cache ビューの遷移効果を設定します ビュー、遷移仕様 遷移タイプ、キャッシュ設定 YES はビューを使用することを意味しますキャッシュ、パフォーマンスの向上

ブロック

アニメーション

+ (void)

animateWithDuration

:(NSTimeInterval)duration 遅延:(NSTimeInterval)遅延

オプション

:(UIViewAnimationOptions)オプション アニメーション:(void (^)(void))アニメーション 完了:(void (^) )(BOOL 終了))completion パラメータ分析: duration: アニメーションの継続時間

delay

: アニメーション遅延秒後に開始

オプション

: アニメーション リズム コントロール

アニメーション

: ビューのプロパティを変更します コードはこのブロックに配置されます

completion

: アニメーションが終了すると、このブロックは自動的に呼び出されます

+ (void)transitionWithView :(UIView *)ビュー

期間

:(NSTimeInterval)期間

オプション

:(UIViewAnimationOptions)オプション アニメーション:(void (^)(void)) アニメーション 完了 :(void (^)(BOOL completed))completion パラメータ分析: duration: アニメーションの継続時間

view

: 遷移アニメーションが必要なビュー

オプション

: 遷移アニメーションの種類

アニメーション

: ビューのプロパティを変更するコードを配置しますこのブロック

completion

: アニメーションが終了すると、このブロックは自動的に + (void)

transitionFromView

:(UIView *)fromView と呼ばれます。 toView:(UIView *)toView

duration

:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^) (BOOL 終了))completion メソッドが呼び出された後、次の 2 行のコードを実行するのと同じです: // Add toView を親ビューに追加します [fromView.superview addSubview:toView];

// fromView を親ビューから削除します

[fromView.superview RemoveFromSuperview];

パラメータ分析:

duration: アニメーションの継続時間

オプション :遷移アニメーションの種類

アニメーション: ビューのプロパティを変更するコードをこのブロックに配置します

completion: アニメーション終了後、自動的に呼び出しますこのブロック

UIImageView のフレームアニメーション

UIImageView は、特定の時間内に一連の画像を順番に表示できます

関連する属性分析:

animationImages: 表示される画像 (UIImage を含む NSArray)

animationDuration: 1 回完全に表示されるanimeImages 内のすべての画像

animationRepeatCount: アニメーションの実行回数 (デフォルトは 0、無限ループを表す)

関連メソッド分析:

- (void)startAnimating; アニメーション開始

- (void)stopAnimating; (BOOL)

isAnimating

; アニメーションが実行中かどうか

UIActivityIndi​​catorView

は、アニメーションを通知するために使用できる回転進行ホイールです。 user 進行中の操作があります。通常、initWithActivityIndi​​catorStyle を使用して

メソッド分析を初期化します。

- (void)

startAnimating

; アニメーションを開始します。 (void) stopAnimating; アニメーションを停止します

- (BOOL)isAnimating; アニメーションが実行されているかどうか

UIActivityIndi​​catorViewStyle には 3 つの値があります。 :

UIActivityIndi​​catorViewStyleWhiteLarge

//大きな白いインジケーター

UIActivityIndi​​catorViewStyleWhite //標準サイズの白いインジケーター

UIActivityIndi​​catorViewStyleGray / /白の背景にグレーのインジケーター

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