TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | May 2017 |
SwiftSwift Version | 3.1 |
SPMSupports SPM | ✗ |
Maintained by Matija Kruljac.
VerticalCardSwitcher is inspired by Shazam Discover view. It is a vertical sequence of UIViews where first UIView in sequence is always displayed and every next UIView is partially displayed. Also there is VerticalCardSwitcherDelegate which is added for VerticalCardSwitcher customization. VerticalCardSwitcher is not implemented with UICollectionView and it's contained inside parent view.
To run the example project, clone the repo, and run pod install
from the Example directory first. There are two examples FirstViewController
and SecondViewController
.
FirstViewController
):
SecondViewController
):
VerticalCardSwitcher is available through CocoaPods. To install it, simply add the following lines to your Podfile:
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod "VerticalCardSwitcher"
end
VerticalCardSwitcherDelegate
for delegate class:class ViewController: UIViewController, VerticalCardSwitcherDelegate {
}
VerticalCardSwitcher
:private var verticalCardSwitcher: VerticalCardSwitcher!
verticalCardSwitcher = VerticalCardSwitcher.init(in: view)
verticalCardSwitcher.delegate = self
verticalCardSwitcher.display()
VerticalCardSwitcherDelegate
required methods:func numberOfCards(for verticalCardSwitcher: VerticalCardSwitcher) -> Int {
return 22
}
func distanceBetweenCards(for verticalCardSwitcher: VerticalCardSwitcher) -> CGFloat {
return 20.0
}
func heightForCardView(in verticalCardSwitcher: VerticalCardSwitcher) -> CGFloat {
return 430.0
}
func sideMargins(for verticalCardSwitcher: VerticalCardSwitcher) -> CGFloat {
return 40.0
}
func addDesign(for cardView: CardView, at index: Int, in verticalCardSwitcher: VerticalCardSwitcher) {
}
// values from 0 to 1 (represents percentage of CardView height)
func heightOfShowedPartForEveryNextCard(in verticalCardSwitcher: VerticalCardSwitcher) -> CGFloat {
return 0.20
}
VerticalCardSwitcherDelegate
optional methods for scrolling events of CardView:func currentCardScrolledDown(cardView: CardView, for verticalCardSwitcher: VerticalCardSwitcher) {
print("currentCardScrolledDown")
}
func nextCardScrolledUp(cardView: CardView, for verticalCardSwitcher: VerticalCardSwitcher) {
print("nextCardScrolledUp")
}
Matija Kruljac, [email protected]
VerticalCardSwitcher is available under the MIT license. See the LICENSE file for more info.