iOS GIFアニメーション再生ライブラリ YLGIFImage 開始・停止・3秒実行

YLGIFImage:https://github.com/liyong03/YLGIFImage

使い方は下記ページを参照。
丸の内テックさん記事:http://marunouchi-tech.i-studio.co.jp/3775/

上記をベースに開始・停止・3秒実行ボタンをつけて見ました。

開始は

demoImageView.image = gifImage

とGIFアニメーションのインスタンスをセット。
インスタンスをセットした瞬間からアニメーションは開始されます。

停止は

demoImageView.image = nil

とnilをセット。

3秒実行はTimerクラスを使用しています。

表示させたまま開始、停止させたい場合は

demoImageView.startAnimation()
demoImageView.stopAnimation

を使用すればよい。

開始・停止・3秒実行ボタン

import UIKit
import YLGIFImage

class ViewController: UIViewController {

    @IBOutlet weak var demoImageView: UIImageView!
    
    var gifImage:UIImage!
    
    override func viewDidLoad() {
        super.viewDidLoad()

        if let path = Bundle.main.url(forResource: "shirakawago1_animated_256", withExtension: "gif") {
            if let data = try? Data(contentsOf: path) {
                gifImage = YLGIFImage(data: data)
            }
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func tapStart(_ sender: Any) {
        demoImageView.image = gifImage
    }
    
    @IBAction func tapStop(_ sender: Any) {
        demoImageView.image = nil
    }
    
    @IBAction func tapTimer3sec(_ sender: Any) {
        demoImageView.image = gifImage
        _ = Timer.scheduledTimer(withTimeInterval: 3, repeats: false, block: timwer3stop(t:))
    }
    
    func timwer3stop(t:Timer) {
        demoImageView.image = nil
    }

}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です