散歩しながら 〜〜アプリ開発〜〜

Mac mini 始めました [objective-c]

NavigationController 遷移時のアニメーション

通常の画面遷移では、子画面が右から出てくるが

他にアニメーションを行いたい場合

以下の実装を入れる事で、簡単にアニメーションを変更することができる。

 

// アニメーション作成   

CATransition* transition = [CATransitionanimation];   

// アニメーション秒数   

transition.duration = 0.5;   

// アニメーション速度

transition.timingFunction = [CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseIn];   

// アニメーションタイプ   

transition.type = kCATransitionMoveIn;   

// アニメーションサブタイプ 

transition.subType = kCATransitionFromRight; 

// アニメーションの設定   

[self.navigationController.view.layer addAnimation:transition forKey:nil];   

// 画面遷移    

[self.navigationControllerpushViewController:view animated:NO];

・画面遷移時のアニメーションはNOにする必要があります。

・親画面に戻る(popViewControllerAnimated)の場合でも、同様の設定でアニメーションが可能です。

・画面遷移を行うたびの、同様の設定をする必要があります。

 

 

◆アニメーションの速度

  • kCAMediaTimingFunctionLinear

    一定速度のアニメーション

  • kCAMediaTimingFunctionEaseIn

    徐々に早くなるアニメーション

  • kCAMediaTimingFunctionEaseOut

    徐々に遅くなるアニメーション

  • kCAMediaTimingFunctionEaseInEaseOut

    遅い→早い→遅い の順に速度が変わるアニメーション

  • kCAMediaTimingFunctionDefault

    標準のアニメーション

 

 

◆アニメーションのタイプに指定できる種類は以下のパターンとなります。

  • kCATransitionFade

    表示中の画面がフェードアウトしながら、次の画面がフェードインする。

  • kCATransitionMoveIn

    次の画面がスライドしながら表示されます。

    アニメーションをsubTypeで調整します。

  • kCATransitionPush

    次の画面が、表示中の画面を押し出します。

    アニメーションをsubTypeで調整します。

  • kCATransitionReveal

    表示中の画面が幕のようにスライドし、後ろから次の画面が表示されます。

    アニメーションをsubTypeで調整します。

 

 

◆アニメーションのサブタイプに指定できる種類は以下のパターンとなります。

  • kCATransitionFromRight

    右からアニメーションを開始させます。

  • kCATransitionFromLeft

    左からアニメーションを開始させます。

  • kCATransitionFromTop

    上からアニメーションを開始させます。

  • kCATransitionFromBottom

    下端からアニメーションを開始させます。