Quantcast
Channel: その後のその後
Viewing all articles
Browse latest Browse all 314

[iOS][Objective-C][アニメーション]【iOS7】53種類のカスタム画面遷移を試せるサンプルコードを公開しました

$
0
0

リポジトリだけつくって、ずっと放置してた 「iOS7のカスタム画面遷移ギャラリーアプリ」 にやっと手をつけて、第1弾として 53種類 を試せるようにして公開しました。


f:id:shu223:20140416100040g:image


https://github.com/shu223/AnimatedTransitionGallery


なぜつくったのか

iOS 7 から UIViewControllerAnimatedTransitioning および UIViewControllerTransitioningDelegate プロトコルが追加され、カスタム画面遷移(トランジションエフェクト)が格段に実装しやすくなりましたが、結局のところ実際のアニメーション部分は自分で実装する必要があります。


で、カスタム画面遷移は UIViewController の実装とは切り離せるようにAPIが設計されていて、使い回しやすい ので、こうして一カ所にまとまっていてすぐに試せて見比べられたら便利かも、ということでつくりました。


使い方

git clone した後、 git submodule してください。

$ git clone https://github.com/shu223/AnimatedTransitionGallery
$ cd AnimatedTransitionGallery/
$ git submodule update --init --recursive

あとは TTMAnimatedTransitionGallery プロジェクトを開いてビルドすればOKです。


利用可能なカスタム画面遷移一覧

  • HUTransitionVerticalLinesAnimator
  • HUTransitionHorizontalLinesAnimator
  • HUTransitionGhostAnimator
  • ZBFallenBricksAnimator
  • ATCAnimatedTransitioningFade
  • ATCAnimatedTransitioningBounce
  • ATCAnimatedTransitioningSquish
  • ATCAnimatedTransitioningFloat
  • LCZoomTransition
  • ADBackFadeTransition
  • ADCarrouselTransition
  • ADCrossTransition
  • ADCubeTransition
  • ADFadeTransition
  • ADFlipTransition
  • ADFoldTransition
  • ADGhostTransition
  • ADGlueTransition
  • ADModernPushTransition
  • ADPushRotateTransition
  • ADScaleTransition
  • ADSlideTransition
  • ADSwapTransition
  • ADSwipeFadeTransition
  • ADSwipeTransition
  • ADZoomTransition
  • CECardsAnimationController
  • CECrossfadeAnimationController
  • CECubeAnimationController
  • CEExplodeAnimationController
  • CEFlipAnimationController
  • CEFoldAnimationController
  • CENatGeoAnimationController
  • CEPortalAnimationController
  • CETurnAnimationController
  • KWTransitionStyleNameRotateFromTop
  • KWTransitionStyleNameFadeBackOver
  • KWTransitionStyleNameBounceIn
  • KWTransitionStyleNameDropOut
  • KWTransitionStyleNameStepBackScroll
  • KWTransitionStyleNameStepBackSwipe
  • KWTransitionStyleNameUp
  • KWTransitionStyleNamePushUp
  • KWTransitionStyleNameFall
  • KWTransitionStyleNameSink
  • DMAlphaTransition
  • DMScaleTransition
  • DMSlideTransition
  • HFAnimator
  • HFDynamicAnimator
  • BouncePresentTransition
  • FlipTransition
  • ShrinkDismissTransition

たくさん集めてみての所感

とりあえず集めてみたものの、正直なところどれも「新しいAPIが追加されたのでつくってみた」感が強く、OSSとして完成度の高いものは(まだ)あまりないと感じました。


サンプルとしてはインパクトがあっても、クセが強すぎるものは使いづらいですし、本格的にアプリをつくる場合、アニメーションや演出の類いはやはり細かいチューニングをする必要がでてくるものですが、今回追加したOSSはカスタマイズ性に欠けるものがほとんどです。


また「遷移後の後片付け」がちゃんとされてないものもたくさんあります(遷移後にビューが元の状態に戻らないとか)。


とはいえ同じく iOS 7 で追加された snapshotViewAfterScreenUpdates やresizableSnapshotViewFromRect:〜 をうまく利用しているものや、CATransform3D で三次元的なエフェクトを使っているものもあり、自分が実装する際の参考やたたき台として便利だとは思うので、ぜひ一度ビルドしてお試しいただければと思います。


参考

iOS7のカスタム画面遷移については、下記書籍に詳しい解説があります。


上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編
加藤 寛人 西方 夏子 藤川 宏之 鈴木 晃 高丘 知央
インプレスジャパン
売り上げランキング: 1,885


iOS6.x以下でのカスタム画面遷移については、拙著に実装方法としくみの解説を書きました。




Core Image を使用したトランジションエフェクト、なんてのもあります。こちらも拙著に詳細あり。




Viewing all articles
Browse latest Browse all 314

Trending Articles