WillowTreeOuroboros 0.2.1

WillowTreeOuroboros 0.2.1

LangLanguage SwiftSwift
License MIT
ReleasedLast Release Feb 2017
SwiftSwift Version 3.0
SPMSupports SPM

Maintained by Erik LaManna, Ian Terrell, Ian Terrell.

  • By
  • Ian Terrell

Ouroboros, by WillowTree

An infinitely scrolling carousel for tvOS


You can use this project via CocoaPods:

pod 'WillowTreeOuroboros'

Or via Carthage:

github "willowtreeapps/ouroboros" >= 0.2.1

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


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).


  • 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!

Version History

0.2.1 Update to Swift 3.0 syntax.