【iOS Swift アニメーション入門 #6】アニメーション終了時に処理を実行する(コールバック)

LINEで送る
Pocket

■はじめに

CAAnimation(とそのサブクラス)のdelegateをセットすることで
アニメーションが終了したとき、アニメーションが始まったときに
コールバックを受け取ることができる。

 

下記2つのdelegateメソッドがある。
func animationDidStart(anim: CAAnimation!)
func animationDidStop(anim: CAAnimation!, finished flag: Bool)

 

ここではUIImageViewを画面右から画面内に移動するアニメーションをつくり、アニメーションが終了すると、UIImageViewをぶるっとさせる。
下記動画のようなアニメーションです。

 

①UIImageViewを画面右から画面内に移動するアニメーション
②アニメーションが終了すると、UIImageViewをぶるっとさせるアニメーションを作成

 

■実装

画像が右から左に移動するアニメーションを終了するところまで書いたサンプルプロジェクトはこちらからダウンロードしてください。

 

サンプルプロジェクトをダウンロードしたら、
下記ソース内の①〜⑤の処理を書く。

 

■おわりに

実装できたら実行してみる。
画像が画面内中央にくるとぶるっとするはずです。

 

うまく動作しない方はこちらから完成版サンプルをダウンロードして下さい。

 

■参考書籍

・アニメーションに関する数少ない日本語書籍
日本語の書籍があった。

iPhone/iPad グラフィックスプログラミング

 

・英語だけど内容豊富なアニメーションの書籍。

【Kindle版】iOSアニメーション専門書籍

 


Programming iOS 8: Dive Deep into Views, View Controllers, and Frameworks

 

【アニメーションはまだ難しいなと思った人向け書籍】

①iOSアプリ開発未経験の人向け
・iOSアプリ開発をはじめたとき最初に買った書籍
【アプリ作成未経験の人向け】
Storyboardを使って画面を作成していく。
手順にしたがって操作していくと、ボタンの作成やWebViewの作成などができる。
アプリって、こんな感じで作るんだというのを体験できる。

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】 教科書シリーズ

・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。


iPhoneアプリ開発塾

③中級者、上級者向け
詳解 Swift

LINEで送る
Pocket