
何枚か画像を用意してそれを切り替えることで、パラパラ漫画のようにアニメーションを表示することができる UIImageView の拡張クラス AnimationImageView を作りましたので、それの紹介記事になります。
ソースコードは下記 GitHub に上がっています。
https://github.com/bravesoft-lab/AnimationImageView
AnimationImageView.swift をダウンロードして、任意の swift プロジェクトに組み込むだけで使えるようになります。
AnimationImageView のインスタンスを画面に配置し、下記のようにアニメーションの設定を行います。
1 2 3 4 5 6 7 8 9 10 11 12 |
let imageList = [image1, image2, image3, image4]; let animationTimeList: Array<TimeInterval> = [0.2, 0.3, 0.4, 0.5] var animationFrameList = Array<AnimationFrame>() for i in 0..<imageList.count { animationFrameList.append(AnimationFrame(image: imageList[i], time: animationTimeList[i])) } // アニメーションのフレームを設定 animationImageView.animationFrameList = animationFrameList // ループ回数(0なら無限) animationImageView.numberOfLoopTimes = 0 // アニメーション終了後に初期画像に戻すかどうか animationImageView.backToFirstImage = false |
あとは、下記コードでアニメーションを開始することができます。
1 |
animationImageView.startAnimation() |
アニメーション完了時に何か処理を行いたいときは、デリゲートメソッドを実装してください。
1 2 3 |
func animationImageView(didFinishedAnimation animationImageView: AnimationImageView) { // ここにアニメーション完了時の処理 } |
ちなみに ボケて でも評価時の星のアニメーションに使ってます。
画像切り替えで表現できるアニメーションであれば、このクラスでだいたいなんとかなると思います。
何かバグなど見つかった場合は、ご一報いただければ幸いです。
★会社紹介★
私達bravesoft(ブレイブソフト)は「最強のものづくり集団」を目指し、
新しいものへの果てしない挑戦を日々繰り広げております!
その中で一緒に働いてくれる仲間も積極採用中ですので、是非お問い合わせください!
<基本情報>
bravesoft オフィシャルホームページ
採用情報
受託開発紹介
UI/UXデザイン紹介
<自社事業>
eventos
Live!アンケート
Appvisor Push
投稿者プロフィール

最新の投稿
Server2020.10.08AWSのSESを利用して手動でメールを送信する
iOS2020.09.08SwiftUIのすすめ – 2. リスト表示 –
職種紹介2020.09.04bravesoftの職種紹介(アプリエンジニア)
iOS2020.07.29SwiftUIのすすめ – 1.メリットとデメリット –