Rubymotion CollectionView Playground
This code was written for educational purposes, if you're using this code in production, Whenever you meet Mr. @mpospese or myself don't hesitate in buying us a beer.
To incentive yourself in taking a look into Mr. @mpospese's great slides . I removed a lot of comments from my code!
- iOS 6+
The app presents the speaker roster from various CocoaConf conferences. Each conference date is a section and the speakers at that event are the items in that section. It has 5 different layouts. Use a 2-finger tap to switch between layouts. (A 3 finger tap will switch back to previous layout, i.e. cycles through the layouts in the opposite direction.)
A standard UICollectionViewFlowLayout-derived layout. Demonstrates the flow layout plus use of supplementary and decoration views.
Another UICollectionViewFlowLayout-derived layout. This one is adapted from the Apple sample of the same name from WWDC 2012 Session 219. Demonstrates a single line horizontal layout and use of shouldInvalidateLayoutForBoundsChange: as well as use of custom layout attributes.
Cover Flow Layout
Derived from Line Layout but adapted to look more like Cover Flow.
A UICollectionViewLayout-derived layout (not flow layout). Pinch out on the photo stacks to expand them and it will switch to Grid Layout. Demonstrates custom layouts, gestures, and custom layout attributes.
Another UICollectionViewLayout-derived layout. This one is adapted from the Apple sample CircleLayout from WWDC 2012 Session 219. Only instead of a circle, items are arranged in a spiral that wraps 1 1/2 times around and fits the screen in either landscape or portrait. It was also adapted to support multiple sections (1 spiral per screen) in a horizontally scrolling layout. Swipe up on a speaker card and it will be flicked off screen and disappear. Tap on the header to add a speaker back (expands out from center). Demonstrates custom layouts, gestures, and custom delete and insert animations.
The Background are by Glyphish
this projekt is licensed under the BSD license.