Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sample or Demo SWIFT code using FLAnimatedImage

I'm trying to incorporate FLAnimatedImage in my Swift-based iOS application for the purposes of displaying an animated GIF.

I started my importing the FLAnimatedImage.h and FLAnimatedImageView.m files and created the Bridging-Header.h without issue.

I tried to load the Gif into my ImageView with this code:

@IBOutlet weak var animatedImageView: FLAnimatedImageView! = animatedImageView.animatedImage = FLAnimatedImage(animatedGIFData: NSData(contentsOfFile: "chicken.gif")) `  

But it fails at application startup with the following error code:

exception 'NSInvalidArgumentException', reason: '-[UIImageView setAnimatedImage:]: unrecognized selector sent to instance 0x78e3c820'

Any suggestion on how to fix the above error?

Thanks for any help.

like image 319
philhob Avatar asked Oct 19 '15 14:10

philhob


2 Answers

import UIKit
class ViewController: UIViewController {
@IBOutlet weak var gifView: FLAnimatedImageView!
override func viewDidLoad() {
  super.viewDidLoad()
  print("\(gifView)")
  if let path =  NSBundle.mainBundle().pathForResource("rock", ofType: "gif") {
    if let data = NSData(contentsOfFile: path) {
      let gif = FLAnimatedImage(animatedGIFData: data)
      gifView.animatedImage = gif
    }
  }
}
}

By the way, did you make your animatedImageView in the storyboard subclassed from FLAnimatedImageView?

like image 66
PhilCai Avatar answered Oct 19 '22 18:10

PhilCai


Swift 4: Gif URL Example

@IBOutlet weak var gifImageView: FLAnimatedImageView!

private func showGifImage(url: URL) {
    DispatchQueue.global().async { [weak self] in
        do {
            let gifData = try Data(contentsOf: url)
            DispatchQueue.main.async {
                self?.gifImageView.animatedImage = FLAnimatedImage(gifData: gifData)
            }
        } catch {
            print(error)
        }
    }
}
like image 4
Ahmed Lotfy Avatar answered Oct 19 '22 17:10

Ahmed Lotfy