はじめに
iOSアプリ開発においてGIFアニメーションを再生するライブラリはたくさんありますが、
今回はその中のひとつ「YLGIFImage」を使ってみましたので、ご紹介します。
Install
cocoaPodsでインストールします。
1 |
pod ‘YLGIFImage’ |
ローカルにGIFファイルを保存
ローカルに再生したいGIFファイル(loading.gif)を取り込みます。
今回はローディングアニメーションを再生したいと思います。
Autolayoutでレイアウト設置
Demo用のImageViewを設置し、カスタムビューに「YLGIFImage」を選択します。
OutletでViewController.swiftに接続します。
ここでは「demoImageView」とします。
YLGIFImageをインスタンス化
YLGIFImageライブラリをインポートし、下記のようにYLGIFImageをインスタンス化します。
IBOutletで接続したdemoImageViewのimageプロパティにセットすれば準備完了です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import UIKit import YLGIFImage class ViewController: UIViewController { @IBOutlet weak var demoImageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() loadGifAnimation() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } func loadGifAnimation() { //swift 3.0 if let path = Bundle.main.url(forResource: "loading", withExtension: "gif") { if let data = try? Data(contentsOf: path) { let gifImage = YLGIFImage(data: data) self.demoImageView.image = gifImage } } // swift2.3 if let path = NSBundle.mainBundle().URLForResource("loading", withExtension: "gif") { if let data = NSData(contentsOfURL: path) { let gifImage = YLGIFImage(data: data) self.demoImageView.image = gifImage } } } } |
シミュレータで確認
シミュレータで確認してみるとローディングアニメーションが再生されているのがわかります。
最後に
これで簡単にGIFアニメーションを再生させることができました。
ただこのライブラリ、ループ回数を変更できないうえに、デフォルトでループになってしまうようです。
一回再生したら次の処理を行うという場合は、少し手を加える必要がありそうです。
その場合は別のライブラリを使った方が良さそうですね笑