StatusFlow是一个简单的UICollectionView iOS实现,用于展示动态美观且有意义的状态。

特性
StatusFlow是一个具有自定义UICollectionViewFlowLayout的自定义UICollectionView。
它的目的是显示增量状态,使“当前”项的大小是其他项集合视图的两倍,是选中项,并且在视图内水平和垂直居中。前一项目位于中心左侧,下一项目位于中心右侧。其他项不可见,当选中索引递增时将淡入淡出。尽管支持设置任何选中索引的设置,但控制器的意图是通过递增或递减选中索引来使用。因为它是一个自定义UICollectionView,所以支持任何单元格类型(尽管,很可能是,您的单元格将只是一个UIImageView)。由于这是一个信息控件,用户交互被禁用。
使用方法
安装
直接使用
将以下文件复制到您的工作空间中,或者将它们添加为子模块:
- StatusFlowView.h
- StatusFlowView.m
- StatusFlowViewLayout.h
- StatusFlowViewLayout.m
创建StatusFlow
StatusFlowView的使用与UICollectionView非常相似。请参阅本项目中使用StatusFlow的完整项目示例。

- 使用storyboard为包含StatusFlow的视图控制器创建storyboard。将UICollectionView拖放到视图控制器中。这将是一个状态流。
- 将storyboard的Custom Class -> Class属性设置为WDWStatusFlow。
- 从StatusFlow到您的视图控制器创建一个出口。这可以是一个私有属性。
- 在XCode中创建一个单元格类。它应该继承自UICollectionViewCell。
- 在storyboard中创建单元格,并使用Custom Class -> Class属性将其链接到单元格类。
- 确保您的UIViewController符合UICollectionViewDataSource和UICollectionViewDelegateFlowLayout(对于collectionView:layout:sizeForItemAtIndexPath)。
- 在ViewController的viewDidLoad方法中,使用StatusFlowView的gapBetweenCells属性来定义单元格间距离。默认是5。
- 实现collectionView:numberOfItemsInSection。注意,只能有一个部分。
- 实现collectionView:cellForItemAtIndexPath
- 在collectionView中实现layout:sizeForItemAtIndexPath:,以设置单元格的大小。单元格的大小是单元格未选中时的尺寸。选中时其大小会加倍。如果你的选中单元格在宽度或高度上大于集合视图,可能无法正确渲染。
- 通过增加或减少StatusFlowView的selectedIndex属性来增加或减少StatusFlowView。建议您只增加或减少此值一次(尽管支持更大的跳跃)。
使用此仓库
在开始之前,您的机器应该具备以下软件: ruby、ruby gems、bundler
要设置项目,请运行包含的setup.sh。这将安装所需的Gem并执行pod安装。
要在XCode中打开项目,请运行
$ open StatusFlow.xcworkspace
要从命令行测试项目
要从命令行构建项目
要从命令行清理项目
致谢
感谢Ryan Baumbach对Travis ci提供的帮助。
反馈
有问题、建议、评论或鳄梨酱配方吗? [email protected]