CaseContainer
CaseContainer 是 容器视图控制器
要求
CaseContainer 需要 iOS 9 或更高版本,并使用 Swift 4.2 编写。
安装
CocoaPods
CaseContainer 通过 CocoaPods 提供。要安装它,只需在 podfile 中添加以下行:
pod 'CaseContainer', '~> 0.9.0'
然后运行 pod install
。
Carthage
CaseContainer 通过 Carthage 提供。使用以下命令通过 Homebrew 安装 Carthage:
$ brew update
$ brew install carthage
将CaseContainer
添加到您的Cartfile
github "devmjun/CaseContainer" ~> 0.9.0
然后运行carthage update
。
使用方法
- 创建一个
ParallaxTableViewController
、ParallaxCollectionViewController
或YourSomeViewController
的实例
import CaseContainer
// 1
class YourChildTableViewController: ParallaxTableViewController {
}
class YourChildTableViewController: ParallaxCollectionViewController {
}
// or 1
class YourSomeViewController: UIViewController {
}
- 创建一个
CaseContainerViewController
的实例,并在使用ParallaxTableViewController
时提供ParallaxTableViewDelegate
- 然后将
Appearance
传递给appearance
// 2
class YourContainerViewController: CaseContainerViewController {
required init() {
super.init()
let tableViewController = YourChildTableViewController()
tableViewController.title = "My Table View Controller"
tableViewController.delegate = self
let someViewController = YourSomeViewController()
someViewController.title = "My Some View Controller"
// 3
appearance = Appearance(
headerViewHegiht: 150,
tabScrollViewHeight: 50,
indicatorColor: .green,
tabButtonColor: (normal: .gray, highLight: .black))
// 4
viewContorllers = [tableViewController, someViewController]
}
}
代理
scrollViewWillBeginDragging
当容器滚动视图准备开始滚动内容时,通知代理。
func caseContainer(
caseContainerViewController: CaseContainerViewController,
scrollViewWillBeginDragging scrollView: UIScrollView)
scrollViewDidScroll
当用户在接收者内部滚动容器内容视图时,通知代理。
func caseContainer(
caseContainerViewController: CaseContainerViewController,
progress: CGFloat,
index: Int,
scrollViewDidScroll scrollView: UIScrollView)
scrollViewDidEndDragging
当在容器滚动视图中拖动结束时通知代理。
func caseContainer(
caseContainerViewController: CaseContainerViewController,
index: Int,
scrollViewDidEndDragging scrollView: UIScrollView)
scrollViewDidEndDecelerating
通知代理容器滚动视图已经结束减速滚动动作。
func caseContainer(
caseContainerViewController: CaseContainerViewController,
index: Int,
scrollViewDidEndDecelerating scrollView: UIScrollView)
didSelectTabButton
当tabButton被点击时通知代理
func caseContainer(
caseContainerViewController: CaseContainerViewController,
didSelectTabButton tabButton: TabButton,
prevIndex: Int,
index: Int)
panoramicHeader
当头部视图被容器滚动视图覆盖时通知代理
func caseContainer(parallaxHeader progress: CGFloat)
贡献
欢迎提交错误报告、拉取请求和任何讨论
授权
CaseContainer遵循MIT授权条款提供开源版本