Skip to content

SSSwiftUIGIFView is a custom controller which helps to load GIF in SwiftUI.

License

Notifications You must be signed in to change notification settings

SimformSolutionsPvtLtd/SSSwiftUIGIFView

Repository files navigation

SSSwiftUIGIFView

Version License Platform swiftUI Swift Version PRs Welcome Twitter

SSSwiftUIGIFView is a custom controller designed to help load GIFs in SwiftUI. It supports loading GIFs from remote URLs, is compatible with both iOS and macOS, and implements a caching mechanism to improve loading times and reduce data usage. Additionally, it provides both a default progress view and support for custom progress views while loading the GIF.

Features

  • Support for loading local GIFs and GIFs from remote URLs
  • Cache mechanism support
  • Cross-platform compatibility (iOS & macOS)
  • Custom and default progress view support

Requirements

  • iOS 14.0+
  • MacOS 13.0+
  • Xcode 11+

Installation

CocoaPods

SSSwiftUIGIFView is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'SSSwiftUIGIFView'

Swift Package Manager

When using Xcode 11 or later, you can install SSSwiftUIGIFView by going to your Project settings > Swift Packages and add the repository by providing the GitHub URL. Alternatively, you can go to File > Add Package Dependencies...

     dependencies: [
         .package(url: "https://github.com/SimformSolutionsPvtLtd/SSSwiftUIGIFView.git", from: "2.0.0")
     ]

Manually

  1. Add GIFCache.swift, GIFImageViewModel.swift, GIFPlayerView.swift and SwiftUIGIFPlayerView.swift to your project.
  2. Grab yourself a cold 🍺.

Usage example

  • Import framework

      import SSSwiftUIGIFView
    
  • Load GIF with SwiftUIGIFPlayerView function

      SwiftUIGIFPlayerView(gifName: "Gif Name")
    
  • Load GIF URL with SwiftUIGIFPlayerView function

      SwiftUIGIFPlayerView(gifURL: gifURL) // Here the gifURL is a link to a GIF.
    
  • If we want to show the default progress bar while loading a GIF

      // Default value for isShowProgressView is false 
      
      SwiftUIGIFPlayerView(gifURL: gifURL, isShowProgressView: true)
    
  • If we want to show a custom progress bar while loading a GIF

      SwiftUIGIFPlayerView(gifURL: gifURL) {
          //Custom Progress bar view
      }
    





How to Contribute 🤝

Whether you're helping us fix bugs, improve the docs, or a feature request, we'd love to have you! 💪 Check out our Contributing Guide for ideas on contributing.

Find this example useful? ❤️

Support it by joining stargazers ⭐ for this repository.

Bugs and Feedback

For bugs, feature feature requests, and discussion use GitHub Issues.

Check out our other Libraries

MIT License

This project is licensed under the MIT License - see the LICENSE file for details