【iOS Swift アニメーション入門 #7】実行中のアニメーションを終了する

LINEで送る
Pocket

■はじめに

下記動画のようにラベルが画面右から
画面中央に移動するアニメーションがある。

ユーザーに注目してもらいたいのでアニメーションをつけているが、
ユーザーが気づいたら、アニメーションは必要なくなる。

そんなときにアニメーションを終了したい。

 

どうするか?

 

アニメーション追加時に名前(キー)をつけておけるので、
アニメーションを終了したいイベント発生時にその名前で
アニメーションを取得し、終了させてあげればいい。

 

アニメーションは
CALayerの
removeAnimationForKey
メソッドでアニメーションを削除すれば、終了される。

 

ここでは上記動画にあるテキストフィールドをタップすると、
ラベルが右から左に移動するアニメーションを終了するように実装する。

 

【実装】

ラベルが右から左に移動するアニメーションを終了する処理を
入れる前のサンプルプロジェクトはこちらからダウンロードしてください。

 

サンプルをダウンロードしたら、
ソース内にある①〜③の処理を追加する。

 

①アニメーション追加時にキーをセット
②TextFieldタップ時のイベント取得
③TextFieldのデリゲート

 

 

■おわりに

実装できたら実行してみる。
テキストフィールドをタップするとアニメーションが終了し、
ラベルが中央に配置されるはずです。

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

 

■参考書籍

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

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