All Projects → Ramotion → Gliding Collection

Ramotion / Gliding Collection

Licence: mit
Gliding Collection is a smooth, flowing, customizable decision for a UICollectionView Swift Controller. iOS library made by @Ramotion

Programming Languages

swift
15916 projects
objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Gliding Collection

Hypre
See https://github.com/hypre-space/hypre for the development repository and releases. This repo will eventually be removed.
Stars: ✭ 113 (-92.65%)
Mutual labels:  library
Finish
A non-intrusive library adding a graceful shutdown to Go HTTP servers.
Stars: ✭ 115 (-92.52%)
Mutual labels:  library
Folding Cell
📃 FoldingCell is an expanding content cell with animation made by @Ramotion
Stars: ✭ 10,035 (+552.9%)
Mutual labels:  library
Ndef Tools For Android
NDEF Tools for Android
Stars: ✭ 113 (-92.65%)
Mutual labels:  library
Netius
Readable, simple and fast asynchronous non-blocking network apps
Stars: ✭ 114 (-92.58%)
Mutual labels:  library
Libaudiodecoder
The Cross-Platform Audio Decoder API
Stars: ✭ 114 (-92.58%)
Mutual labels:  library
Petal
A modern, light CSS UI framework by Shakr
Stars: ✭ 113 (-92.65%)
Mutual labels:  library
Truffle Shuffle
An Android data-driven, percentage-based UI Card Gallery Library
Stars: ✭ 117 (-92.39%)
Mutual labels:  library
Aura.ui
A Library with a lot of Controls for AvaloniaUI
Stars: ✭ 114 (-92.58%)
Mutual labels:  library
Laravel Parse
A Parse SDK bridge for Laravel 5
Stars: ✭ 116 (-92.45%)
Mutual labels:  library
Indicators
Activity Indicators for Modern C++
Stars: ✭ 1,838 (+19.58%)
Mutual labels:  library
Liquidrefreshlayout
Liquid Refresh Layout is a simple SwipeToRefresh library that helps you easily integrate SwipeToRefresh and performs simple clean liquid animation
Stars: ✭ 114 (-92.58%)
Mutual labels:  library
Settings.net
⚙️ Settings.Net - An easy to use .NET library for accessing and storing settings and configurations.
Stars: ✭ 114 (-92.58%)
Mutual labels:  library
Tls Channel
A Java library that implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS for Java applications.
Stars: ✭ 113 (-92.65%)
Mutual labels:  library
Javaosc
OSC content format/"protocol" library for JVM languages
Stars: ✭ 116 (-92.45%)
Mutual labels:  library
Php Cli
PHP library to build command line tools
Stars: ✭ 113 (-92.65%)
Mutual labels:  library
Vusikview
Android library to make notes drop animation for music players
Stars: ✭ 115 (-92.52%)
Mutual labels:  library
Typescript Hapi Starter
🚀 Starter for building APIs with Hapi + Typescript!
Stars: ✭ 117 (-92.39%)
Mutual labels:  library
Cacache Rs
💩💵 but for your 🦀
Stars: ✭ 116 (-92.45%)
Mutual labels:  library
Annotation Processing Example
It is the example project for the annotation processing tutorial.
Stars: ✭ 116 (-92.45%)
Mutual labels:  library

GLIDING COLLECTION

A smooth, flowing, customizable decision for a UICollectionView Swift Controller


We specialize in the designing and coding of custom UI for Mobile Apps and Websites.

Stay tuned for the latest updates:


Twitter PodPlatform PodVersion Documentation Carthage Codebeat Swift Donate

Requirements

  • iOS 8.0+
  • Xcode 8
  • Swift 3 (<= 1.0.3)
  • Swift 4 (>= 1.1.0)
  • Swift 4.2 (~> 2.0)

Installation

You can install GlidingCollection in several ways:

  • Add source files to your project.

pod 'GlidingCollection'

github "Ramotion/gliding-collection"

How to use

• Create a view controller class:

import GlidingCollection

class ViewController: UIViewController {
  let items = ["gloves", "boots", "bindings", "hoodie"]
}

• Drag a UIView onto the canvas. Change it's class to GlidingCollection and use autolayout constraints.

step-2

• Connect this view to your view controller class as an @IBOutlet.

@IBOutlet var glidingCollection: GlidingCollection!

• Make your view controller conform to GlidingCollectionDatasource. It's very similar to the UITableView or UICollectionView datasource protocols that you know:

extension ViewController: GlidingCollectionDatasource {

  func numberOfItems(in collection: GlidingCollection) -> Int {
    return items.count
  }

  func glidingCollection(_ collection: GlidingCollection, itemAtIndex index: Int) -> String {
    return "" + items[index]
  }

}

• Make your view controller conform to UICollectionViewDatasource:

extension ViewController: UICollectionViewDatasource {
  
  func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    let section = glidingView.expandedItemIndex // Value of expanded section.
    return images[section].count
  }
  
  func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as? CollectionCell else { return UICollectionViewCell() }
    // Configure and return your cell.
    return cell
  }
  
}

Customize

You can customize the appearance of GlidingCollection by overriding GlidingConfig's shared instance with your own.

var config = GlidingConfig.shared
config.buttonsFont = UIFont.boldSystemFont(ofSize: 22)
config.activeButtonColor = .black
config.inactiveButtonsColor = .lightGray
GlidingConfig.shared = config

🗒 All parameters with their descriptions are listed in GlidingConfig.


Notes

There is a GlidingCollectionDelegate protocol which can notify you when item in GlidingCollection didSelect, willExpand and didExpand.

If you want to achieve a parallax effect on a horizontal cards stack, you need to place your parallax view in a cell's contentView and set its tag to 99.

parallax-view

There is a kGlidingCollectionParallaxViewTag constant if you want to layout a cell in code.

imageView.tag = kGlidingCollectionParallaxViewTag

📄 License

Gliding Collection is released under the MIT license. See LICENSE for details.

This library is a part of a selection of our best UI open-source projects.

If you use the open-source library in your project, please make sure to credit and backlink to https://www.ramotion.com/

📱 Get the Showroom App for iOS to give it a try

Try this UI component and more like this in our iOS app. Contact us if interested.



Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].