GZStackView 1.0.6

GZStackView 1.0.6

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

周汉轩(Geno)维护。



  • 周汉轩(Geno)

GZStackView

UIKit为UITableView提供了UITableViewController,同时还有UICollectionViewController为UICollectionView。

那么为什么不为UIStackView提供UIStackViewController呢?

概览

[已过时]

本存储库已不再维护,请查看我的新方法 GZForm

此框架的3个关键组件是 AutoScrollView 类,StackViewContainer 协议,以及 StackViewItem 协议。

AutoScrollView 继承了UIView并在观察键盘和第一个响应者后添加了自动滚动功能。

StackViewContainer 设置了创建功能齐全的UIStackView包装器的需求,并提供了各种扩展以在自动滚动视图和栈视图之间保持内部管理。

例如,包含了一个实现协议的类,该协议提供了栈视图的自滚动、分隔符定制、背景颜色属性等功能。

StackViewItem 提供了一个统一的接口,使StackViewContainer能够将视图和视图控制器添加/删除,并跟踪已添加的项。

此外,还有一个符合 StackViewItemSeparator 协议的UIView子类 BaseSeparatorView,在 BaseStackViewController 类中被用作默认分隔符。

安装

Cocoapods

// Podfile
pod 'GZStackView', '~> 1.0'

// Run
pod install

如何使用

可以使用多种方式利用此框架。

你可以直接抓住BaseStackViewController,初始化一个实例,或者从它那里派生出一个子类,只要它足够好,能够满足你的需求, magic 就会发生。

包含一个名为“Example”的独立项目,演示了初始化BaseStackViewController实例并将其作为子控制器添加的方法。

然而,我 强烈建议 你创建一个符合StackViewContainer协议的自己的视图控制器类。

BaseStackViewController就是一个非常好的例子,它注入了一堆伟大的功能,而无需定义任何方法。

关于此项目

本项目灵感来源于seedco/StackViewController。概念是优秀的,但貌似对于Geno来说实现过于复杂,所以Geno最终自己制作了。

待办事项

  • [ ] 添加CHANGELOG
  • [ ] 添加动画
  • [ ] 添加关于何时使用uistackview以及何时使用uitableview的讨论
  • [ ] 添加关于如何使用Interface Builder使用此框架的说明

许可协议

该项目采用MIT许可协议。有关详细信息,请参阅LICENSE.md。