Card Slider for Swift
Tons of apps use a Tinder-style interface with cards that users can swipe right to 'like' or left to 'dislike'. But Yaroslav Zubko came up with an innovative and fresh approach to giving users more options besides just 'like' or 'dislike'. Here's Yaroslav's Dribbble shot that inspired me to create a 100% Swift project of this unique & new interface:
And here's a demo of the actual Swift project:
This project isn't a framework, it's more so of a demonstration of how to approach this sort of user interface.
Card Slider basically uses a
UIPanGestureRecognizer in conjunction with several
UIKit Dynamics behaviors. Because of this, ideally you would want all the card logic code in a view controller class, so I opted not make an external class that uses delegation to talk to the view controller.
Most of the logic code is in the
ViewController class, but each card is a subview of
CardView. In the demo project,
ImageCard is a subview of CardView and has its own custom subviews and layouts.
You can create your own subclass of
CardView and modify the
cards data structure in
ViewController to swap in your own custom cards.
You can also modify the
CardOption enum to show your own custom text on the cards for each of the 6 options (you may even add more, but that would require dealing with more emojis and laying them out properly.)
This file has all the logic code associated with showing the 6 emojis on the sides when the user pans the card around, as well as the heart emoji on the top right.
Yaroslav Zubko, the creator of the Dribbble shot that inspired this project, was kind enough to send me his design files. This concept and any artwork (including the emojis) is thanks to Yaroslav. https://dribbble.com/Yar_Z