Swiftpack.co -  v15a1/Glideshow as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
v15a1/Glideshow
An elegant animated slideshow written in swift
.package(url: "https://github.com/v15a1/Glideshow.git", from: "v1.1.1")

Frame 3

Glideshow

Generic badge Generic badge Generic badge Generic badge

A slideshow with pizzazz! Glideshow adds transitions to the slideshows labels to set it apart from other conventional "boring" slideshows,

video

Installation

CocoaPods

The Glideshow project is available via CocoaPods. To install it, simply add the following line to your Podfile:

pod 'Glideshow'

Swift Package Manager

Add https://github.com/v15a1/Glideshow as a Swift Package in Xcode and follow the instructions.

How to use

Add a Glideshow view to your view hiearchy by Interface Builder or programmatically

Loading images

The contents of the slideshow can be set with the use of GlideItem as demonstrated below. Further customizations can be configured as mentioned in the Configuration section

NOTE : Setting the glideFactorto 0 will result in the labels being stationary

// @IBOutlet weak var glideshow : Glideshow!
var glideshow = Glideshow()

glideshow.items = [ 
    GlideItem(title : "Hello there", description: "General Kenobi!", backgroundImage: UIImage(named:  "image1")),
    GlideItem(description: "General Kenobi!", backgroundImage: UIImage(named:  "image2")),
    GlideItem(title : "Hello there", backgroundImage: UIImage(named:  "image3")),
    GlideItem(title : "Hello there", description: "General Kenobi!")
    // Network images
    GlideItem(caption : "Hello there", description: "General Kenobi!", imageURL: "[ IMAGE URL ]")
]

Configuration

The behaviour is configurable by the following properties

Property Description
interval Slideshow interval is seconds ( Default 0 )
isCircular Enables circular scrolling ( Default true )
slideMargin Margin of the slides to the UICollectionView
slidePadding Padding of the content
defaultSlideColor Background color of the slides ( Default UIColor.lightGray )
labelSpacing Vertical spacing between labels within a slide ( Default 8 )
isGradientEnabled Displays gradient in the slide ( Default false )
gradientColor Base color of the gradient ( Default UIColor.black.withAlphaComponent(0.6))
gradientHeightFactor Height of the gradient based on slide height ( Default 0.5 )
titleFont Sets the font of the slide title
descriptionFont Sets the font of the slide description
captionFont Sets the font of the slide caption
titleColor Sets the textColor of the slide title
descriptionColor Sets the textColor of the slide description
captionColor Sets the textColor of the slide slide caption
titleGlideFactor Configures the speed of the transition of the title label ( Default 2 )
descriptionGlideFactor Configures the speed of the transition of the description label ( Default 3 )
captionGlideFactor Configures the speed of the transition of the caption label ( Default 1 )
pageIndicatorPosition Configures positon of the pge indicator
placeHolderImage Configures slide background placeholder if a URL is specified, else nil

Contributions

A few issue to tackle

  • ☐ Pass slide data through delegates
  • ☑ Support for Network images
  • ☐ Multiple animations
  • ☐ Customizable label positionings
  • ☐ Code optimizations

Steps to contribution:

  1. Fork the repo
  2. Clone the project
  3. Make your changes
  4. Make a pull request

If you have any question please feel free to open an issue

GitHub

link
Stars: 50
Last commit: 4 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Release Notes

Added feature to download images from URL + iOS 11 + support
8 weeks ago

Added network image downloading with iOS 11+ support

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API