Skip to content

dan085/SwiftGif

Repository files navigation

SwiftGif Swift 3.0Carthage compatibleCocoaPodsLicense MITBuild Status

A small UIImage extension with gif support.

Demo gif

Usage

// An animated UIImage letjeremyGif=UIImage.gif(name:"jeremy") // A UIImageView with async loading letimageView=UIImageView() imageView.loadGif(name:"jeremy") // A UIImageView with async loading from asset catalog(from iOS9) letimageView=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>'dopod'SwiftGifOrigin','~> 1.6.1'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.6.1 

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.

About

A small UIImage extension with gif support

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift91.7%
  • Ruby4.2%
  • Objective-C4.1%