Contents

simformsolutionspvtltd/ssswiftuigifview

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 def

Features

  • [x] Support for loading local GIFs and GIFs from remote URLs
  • [x] Cache mechanism support
  • [x] Cross-platform compatibility (iOS & macOS)
  • [x] 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 🍺.

Documentation

Documentation - Find the full API reference for more detailed documentation.

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 }

<br> </br> <p align="center"> <img src="demo.gif" width="40%" height="40%"/> </p> <br> </br>

How to Contribute 🤝

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

Find this example useful? ❤️

Support it by joining stargazers :star: for this repository.

Bugs and Feedback

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

Check out our other Libraries

<h3><a href="https://github.com/SimformSolutionsPvtLtd/Awesome-Mobile-Libraries"><u>🗂 Simform Solutions Libraries→</u></a></h3>

MIT License

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

[PR-image]:https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat [PR-url]:http://makeapullrequest.com [swift-image]:https://img.shields.io/badge/swift-5.0-orange.svg [swift-url]: https://swift.org/ [Swift Compatibility-badge]: https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FSimformSolutionsPvtLtd%2FSSSwiftUIGIFView%2Fbadge%3Ftype%3Dswift-versions [Platform Compatibility-badge]: https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FSimformSolutionsPvtLtd%2FSSSwiftUIGIFView%2Fbadge%3Ftype%3Dplatforms

Package Metadata

Repository: simformsolutionspvtltd/ssswiftuigifview

Default branch: master

README: README.md