Skip to content
This repository was archived by the owner on Jan 14, 2021. It is now read-only.
/ SwiftGif Public archive

[UNMAINTAINED] 🌠 A small UIImage extension with gif support

License

Notifications You must be signed in to change notification settings

swiftgif/SwiftGif

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7234d12 Β· Jan 14, 2021
Aug 20, 2019
Aug 22, 2016
Jan 10, 2019
Jan 10, 2019
Jan 10, 2019
Feb 27, 2015
Jan 19, 2018
Jun 12, 2014
Aug 22, 2016
Jan 14, 2021
Jan 21, 2019
Jun 10, 2014

Repository files navigation

⚠️ UNMAINTAINED ⚠️

This library is no longer maintained. I recommend using Gifu instead.


SwiftGif Swift 3.0 Carthage compatible CocoaPods License MIT Build Status

A small UIImage extension with gif support.

Demo gif

Usage

import SwiftGifOrigin

// An animated UIImage
let jeremyGif = UIImage.gif(name: "jeremy")

// A UIImageView with async loading
let imageView = UIImageView()
imageView.loadGif(name: "jeremy")

// A UIImageView with async loading from asset catalog(from iOS9)
let imageView = UIImageView()
imageView.loadGif(asset: "jeremy")

Installation

CocoaPods

Install CocoaPods with the following command:

gem install cocoapods

Integrate SwiftGif into your Xcode project by creating a Podfile:

platform :ios, '9.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'SwiftGifOrigin', '~> 1.7.0'
end

Run pod install to build your dependencies.

Carthage

Install Carthage with Homebrew using the following command:

brew update
brew install carthage

Add the following line to your Cartfile to add SwiftGif:

github "bahlo/SwiftGif" ~> 1.7.0

Run carthage update to build the framework and drag the built SwiftGif.framework into your Xcode project.

How does it work?

Easy, it does the following:

  1. Find out the duration of every frame
  2. Find the greatest common divisor
  3. Add frames accordingly to the greatest common divisor to an array
  4. Create an animated UIImage with the frames

Testing

$ xcodebuild \
  -project SwiftGif.xcodeproj \
  -scheme SwiftGif \
  -sdk iphonesimulator \
  -destination "platform=iOS Simulator,name=iPhone 8" \
  build test \
  CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=""

Inspiration

This project is heavily inspired by uiimage-from-animated-gif. Kudos to @mayoff. πŸ‘

License

This repository is licensed under the MIT license, more under LICENSE.