chaseacton / ouroboros

Infinitely scrolling carousel for tvOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ouroboros, by WillowTree

An infinitely scrolling carousel for tvOS

Installation

You can use this project via CocoaPods with:

pod 'WillowTreeOuroboros'

Without CocoaPods you can simply copy the InfiniteCarousel.swift file into your project.

Usage

See the enclosed OuroborosExample application for a working demo.

If you're using a storyboard, simply change your collection view class to InfiniteCarousel. Make sure you're using a horizontally scrolling collection view with a flow layout, and make sure the flow layout's item size and minimum line spacing are both set.

If you wish to center on more than one item at a time, be sure to update itemsPerPage.

If you wish for the carousel to auto-scroll, set autoScroll and the two related timers (in seconds).

Notes

  • Your carousel will work best if the total number of items you display is evenly divisible by the number of items per page (count % itemsPerPage == 0).
  • This carousel only supports a single section with homogenous sizes and interline items.
  • This carousel currently only scrolls horizontally.
  • The carousel overrides setters to become its own data source and delegate. If you need to do any extra datasource or delegate work you must subclass and access the rootDataSource and rootDelegate instances.
  • You must use a UICollectionViewFlowLayout with the carousel, and you must set up the item sizes and line spacing with its instance variables.

WillowTree is Hiring!

Want to write amazing tvOS apps? Want to write amazing iOS apps? Check out our openings!

About

Infinitely scrolling carousel for tvOS

License:MIT License


Languages

Language:Swift 91.2%Language:Ruby 6.1%Language:Objective-C 2.7%