Giter Club home page Giter Club logo

collectionviewshelflayout's Introduction

CollectionViewShelfLayout

A UICollectionViewLayout subclass displays its items as rows of items similar to the App Store Feature tab without a nested UITableView/UICollectionView hack. You can use a single data source for all of your contents. Each section displays its items in a row. CollectionViewShelfLayout supports collection view's header view and footer view similar to table view's tableHeaderView and tableFooterView also sections' header and footer views too.

CollectionViewShelfLayout screenshot

Requirements

  • iOS 9+
  • Swift 2.2+

This requirement is due to usage of some Auto Layout APIs available in iOS 8 and 9 or later. If you want to use CollectionViewShelfLayout in iOS 8, you can replace NSLayoutAnchor usage with other APIs.

Installation

Manaully

This project comes with built in CollectionViewShelfLayout framework target. You can drag CollectionViewShelfLayout.xcproj file into your project, add CollectionViewShelfLayout framework target as a target dependency and link/embed that framework. and Voila!!!

import CollectionViewShelfLayout

CocoaPods

Add the following to your Podfile

pod 'CollectionViewShelfLayout'
use_frameworks!

Carthage

Add the following to your Cartfile

github "pitiphong-p/CollectionViewShelfLayout"

Usage

Set collecion view's layout to an instance of CollectionViewShelfLayout. Set the layout's properties you want (eg. cellSize). You can set its layout both via code or Storyboard.

let shelfLayout = CollectionViewShelfLayout()
shelfLayout.itemSize = CGSize(width: 100, height: 180)
collectionView.collectionViewLayout = shelfLayout

Demo App

CollectionViewShelfLayout project comes with a demo app target. You can see CollectionViewShelfLayout in action by just running AppStoreCollectionViewLayout-Demo demo app target.

Contact

Pitiphong Phongpattranont

License

CollectionViewShelfLayout is released under an MIT License.
Copyright © 2016-present Pitiphong Phongpattranont.

collectionviewshelflayout's People

Contributors

pitiphong-p avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.