测试已测试 | ✓ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2017年10月 |
由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
。
您可以对库本身运行单元测试,或者运行示例项目以进行视觉演示。
示例项目需要 Xcode 8.0+,只能运行在 iOS 8.0+ 或 tvOS 9.0+。
Kevin Lundberg,kevin at klundberg dot com
欢迎拉取请求!请为任何修复错误或新功能包括单元测试。
KRLCollectionViewGridLayout 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。