Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

< 前ページ次ページ > 目次を隠す

トランジションアニメーション

トランジションアニメーションは、レイヤのプロパティ値を変更した影響やレイヤツリー内のレイヤの状態を数学的に補間できない場合に使用します。

この章では、Core Animationが提供するトランジションアニメーション機能について説明します。

目次:

トランジションアニメーションの作成
トランジションの構成


トランジションアニメーションの作成

CATransitionクラスは、Core Animationに対してCore Imageフィルタを使用したトランジション機能を提供します。これは、あるレイヤの特定のプロパティではなく、レイヤ全体に影響するCAAnimationの直接のサブクラスです。

CATransitionの新しいインスタンスは、継承したanimationクラスメソッドを使用して作成されます。これにより、表 1に示すようなデフォルトの値でトランジションアニメーションを作成します。

表 1  CATransitionのデフォルトプロパティ値

トランジションプロパティ

type

フェードトランジションを使用。値はkCATransitionFade

subType

適用なし。

duration

現在のトランザクションのduration、またはトランザクションのdurationが設定されていない場合は0.25秒を使用。値は0.0。

timingFunction

線形のペーシングを使用。値はnil

startProgress

0

endProgress

パラメータ

トランジションの構成

一度作成すると、定義済みのトランジションタイプの1つを使ってトランジションアニメーションを構成したり、Core Imageフィルタを使ってカスタムトランジションを作成したりできます。

定義済みのトランジションは、typeプロパティを表 2に示す定数の1つに設定して使用します。

表 2  一般的なトランジションタイプ

定数

説明

kCATransitionFade

レイヤが表示または非表示になるとフェードする。

kCATransitionMoveIn

レイヤは既存のコンテンツの一番上に徐々に重なっていく。

kCATransitionPush

レイヤが移動するにつれて、既存のコンテンツをすべて押し出す。

kCATransitionReveal

トランジションのサブタイプで指定した方向に、レイヤが徐々に表示される。

kCATransitionFadeを除いて、定義済みのトランジションタイプを使用してトランジションの方向も指定できます。これにはsubTypeプロパティを表 3示す定数の1つに設定します。

表 3  一般的なトランジションサブタイプ

トランジションサブタイプ定数

説明

kCATransitionFromRight

トランジションはレイヤの右側から始まる。

kCATransitionFromLeft

トランジションはレイヤの左側から始まる。

kCATransitionFromTop

トランジションはレイヤの一番上から始まる。

kCATransitionFromBottom

トランジションはレイヤの一番下から始まる。

startProgressプロパティを使用すると、アニメーション全体のうちの割合を表す値を設定することによってトランジションの開始点を変更できます。たとえば、アニメーションの工程の半分を過ぎたところでトランジションを開始するには、startProgress値を0.5に設定します。同様に、トランジションのendProgress値を指定できます。endProgressは、トランジション全体のうち、トランジションをどの地点で停止するかを示す割合です。デフォルト値は、それぞれ0.0と1.0です。

定義済みのトランジションでは希望する視覚的効果が得られない場合は、トランジションの表示に使われるカスタムのCore Imageフィルタオブジェクトを指定できます。カスタムフィルタは、入力キーkCIInputImageKeyおよびkCIInputTargetImageKeyと、出力キーkCIOutputImageKeyの両方をサポートしている必要があります。必要に応じて、フィルタはkCIInputExtentKey入力キーをサポートすることもできます。これは、トランジションが実行される領域を示す矩形を設定します。



< 前ページ次ページ > 目次を隠す


Last updated: 2007-10-31




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice