CaseContainer 0.9.3

CaseContainer 0.9.3

mjun 维护。



  • 作者:
  • Minjun Ju

CaseContainer

Swift Build Status pod compatible Carthage compatible codecov

full withTabBar

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

使用方法

  1. 创建一个ParallaxTableViewControllerParallaxCollectionViewControllerYourSomeViewController的实例
import CaseContainer

// 1
class YourChildTableViewController: ParallaxTableViewController {
}

class YourChildTableViewController: ParallaxCollectionViewController {
}

// or 1
class YourSomeViewController: UIViewController {
}
  1. 创建一个CaseContainerViewController的实例,并在使用ParallaxTableViewController时提供ParallaxTableViewDelegate
  2. 然后将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授权条款提供开源版本