KRLCollectionViewGridLayout 1.0.0

KRLCollectionViewGridLayout 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年10月

Kevin Lundberg维护。



  • Kevin Lundberg






此布局是 UICollectionViewFlowLayout 的替代品,使用定义的列数和纵横比属性来确定的项目位置和大小,而不是让单元格的大小告诉布局如何定位它们(这是 UICollectionViewFlowLayout 的行为方式)。默认情况下,无论集合视图大小如何,总是会显示相同数量的项目。

您可以指定每行的物品数量以及所有项目的所需纵横比(纵横比始终为宽度/高度,无论滚动方向如何)

layout.numberOfItemsPerLine = 5;
layout.aspectRatio = 16.0/9.0;

您还可以指定类似于 UICollectionViewFlowLayout 的度量标准

layout.sectionInset = UIEdgeInsetsMake(10,20,30,40);
layout.interitemSpacing = 15;
layout.lineSpacing = 5;
layout.scrollDirection = UICollectionViewScrollDirectionVertical;

您还可以在每个部分添加标题和页脚,类似于 UICollectionViewFlowLayout

layout.headerReferenceLength = 44;
layout.footerReferenceLength = 100;

在垂直滚动模式下,长度是标题/页脚的高度。在水平滚动模式下,长度是标题/页脚的宽度。
在这些维度上的长度为 0 时,将不会尝试创建视图。

上述所有属性(除 scrollDirection 外)都可以使用 KRLCollectionViewDelegateGridLayout 在每个部分的基础上进行配置。让您的视图控制器或其他实现常规 UICollectionViewDelegate 的对象也实现此协议,以使这些属性在各个部分的差异发生。

用法

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install
您可以对库本身运行单元测试,或者运行示例项目以进行视觉演示。

要求

  • iOS 6.0
  • tvOS 9.0

示例项目需要 Xcode 8.0+,只能运行在 iOS 8.0+ 或 tvOS 9.0+。

作者

Kevin Lundberg,kevin at klundberg dot com

贡献

欢迎拉取请求!请为任何修复错误或新功能包括单元测试。

许可证

KRLCollectionViewGridLayout 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。