测试测试 | ✗ |
语言语言 | SwiftSwift |
许可 | MIT |
发布最新发布 | 2017年3月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 周汉轩 (Geno) 维护。
UIKit 中有 UITableViewController 用于 UITableView,同时还有 UICollectionViewController 用于 UICollectionView。
那么为什么没有 UIStackViewController 用于 UIStackView 呢?
此框架的关键组件是 AutoScrollView 类、StackViewContainer 协议和 StackViewItem 协议。
AutoScrollView 继承自 UIView,并通过对键盘和第一个响应对象进行监听来添加自动滚动功能。
StackViewContainer 设置创建一个功能齐全的 UIStackView 包装的需求,并提供了各种扩展,以便在自动滚动视图和堆栈视图之间内部管理添加/删除项。例如,包含了一个实现该协议的类 SimpleStackViewController,它提供了自动滚动、分隔符自定义、背景色属性等功能。
StackViewItem 提供了一个统一的接口,使 StackViewContainer 能够添加/删除视图和视图控制器,并跟踪所添加项的引用。
此外,还有一个符合 StackViewItemSeparator 协议的 UIView 子类 BaseSeparatorView,在 SimpleStackViewController 类中用作默认的分隔符。
对于 Carthage
将以下内容添加到 Cartfile 的末尾
github "GenoZhou/StackViewController" ~> 1.0
按照 Carthage 文档中的说明,在构建阶段中包含以下内容
$(SRCROOT)/Carthage/Build/iOS/StackViewController.framework
正常运行 carthage update
对于 Cocoapods
将以下内容添加到您的 Podfile 中
pod 'GZStackViewController', '~> 1.0'
正常运行 pod install
对于 Swift Hipster
拖放,随意吧:
可以使用多种方式利用此框架。
您可以直接抓取 SimpleStackViewController,初始化一个实例,或从它子类化来创建魔法般的效果,只要它足够好,能满足您的需求即可。
包含了一个名为“示例”的独立项目,展示了初始化 SimpleStackViewController 实例并将其作为子控制器添加的方法。
但是,我 强烈建议您创建一个自己的视图控制器类,该类符合 StackViewContainer 协议。
SimpleStackViewController 实际上是一个非常好的例子,它可以无需定义任何方法就注入一大堆优秀的功能。
此项目受seedco/StackViewController的启发。概念非常出色,但实现对Geno来说似乎过于复杂,因此Geno最终制作了自己的版本。
本项目采用MIT许可证。有关详细信息,请参阅LICENSE.md。