VerticalCardSwitcher 版本 0.1.1

VerticalCardSwitcher 版本 0.1.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017 年 5 月
SwiftSwift 版本3.1
SPM支持 SPM

Matija Kruljac 维护。



VerticalCardSwitcher 启发于 Shazam 查找视图。它是一个 UIView 的垂直序列,其中序列中的第一个 UIView 总是显示,而下一个 UIView 则部分显示。此外,还有 VerticalCardSwitcherDelegate 用于 VerticalCardSwitcher 的自定义。VerticalCardSwitcher 不是使用 UICollectionView 实现的,它位于父视图内部。

示例

要运行示例项目,请克隆仓库,并首先从示例目录运行 pod install。有两个示例 FirstViewControllerSecondViewController

  • 示例 1 (FirstViewController)

  • 示例 2 (SecondViewController)

要求

  • iOS 8.0+
  • Xcode 8
  • Swift 3.0

安装

VerticalCardSwitcher 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
    pod "VerticalCardSwitcher"
end

用法

  1. 为代理类添加 VerticalCardSwitcherDelegate
class ViewController: UIViewController, VerticalCardSwitcherDelegate {

}
  1. 初始化和设置 VerticalCardSwitcher
private var verticalCardSwitcher: VerticalCardSwitcher!

verticalCardSwitcher = VerticalCardSwitcher.init(in: view)
verticalCardSwitcher.delegate = self
verticalCardSwitcher.display()
  1. 实现 VerticalCardSwitcherDelegate 所需的方法
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
}
  1. 为 CardView 的滚动事件实现 VerticalCardSwitcherDelegate 的可选方法
func currentCardScrolledDown(cardView: CardView, for verticalCardSwitcher: VerticalCardSwitcher) {
    print("currentCardScrolledDown")
}

func nextCardScrolledUp(cardView: CardView, for verticalCardSwitcher: VerticalCardSwitcher) {
    print("nextCardScrolledUp")
}

作者

Matija Kruljac,[email protected]

许可证

VerticalCardSwitcher 可在 MIT 许可证下获取。有关更多信息,请参阅 LICENSE 文件。