You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the begin, I didn't encapsulate code, @luxorules refactor code into class and improve it to support not only image, then I encapsulate my code
into class. So, there are two choices.
let cardAnimationView = CardAnimationView.init(frame: aFrame)// with defalut card size.
cardAnimationView.dataSourceDelegate = id<CardAnimationViewDataSource>
It adds a little complexity to exchange for: custom card view(not only image).
protocol CardAnimationViewDataSource : class {
func numberOfVisibleCards() -> Int
func numberOfCards() -> Int
// Return view displayed in the CardAnimationView. If reusedView is not nil,
// you could configure and return it to reuse it.
func cardNumber(number:Int, reusedView:BaseCardView?) -> BaseCardView
}
Classes:
CardAnimationView: UIView, the view to display a list of card view.
BasedCardView: UIView, all custom card view must be inherited from this class.
ImageCardView: BasedCardView, child class of BasedCardView, if you just want to use image, use this class.
Requirements
iOS 8.0/Swift 4.0
Installation
Two solutions are both single file. They are in Classes folder. Just need to import file into your project.
Other
The project is released under the MIT LICENSE. And relative technical points are moved to wiki.