Mozaic 0.1.0

Mozaic 0.1.0

Lucca França 维护。



Mozaic 0.1.0

  • 作者
  • luccafgf

Mozaic 是一个用于构建自定义 CollectionViews 的库。它提供了一种简单的接口,用于根据封装的列和三种单元格类型组装拼贴布局。

CI Status Version License Platform

安装

Mozaic 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行

pod 'Mozaic'

实现和用法

将 Mozaic 导入将使用它的控制器。

import Mozaic

现在,创建一个具有 Mozaic 布局的常量,将其属性分配给您的 collectionView 布局,并将其委托分配给实际类。

override func viewDidLoad() {
super.viewDidLoad()
...
let mozaicLayout = Mozaic()
self.yourCollectionView.collectionViewLayout = mozaicLayout
mozaicLayout.delegate = self
...
}

此时,您将看到 Xcode 将显示一个错误,指出 mozaicLayout.delegate = self 无法赋值。这是因为您尚未将您的类扩展为 MozaicDelegate

要修复此问题,请这样做

class YourViewController: MozaicDelegate {

...

}

现在,您将看到一个错误会显示出来,指出您的类不遵守 MozaicDelegate 协议,并且 Xcode 将要求您添加协议存根。在点击添加按钮后,将出现 setStyleOfEachColumn 方法。

此方法返回一个包含数组数组的数组,因此如果您传递一个像这样的数组

func setStyleOfEachColumn() -> [[MozaicCellType]] {
return [[.Medium, .Small, .Medium], [.Large, .Small, .Small]]
}

您将拥有如下所示的收藏

sizes

解释:每个数组将在 collectionView 中生成一列,每列都将遵循其 cellsStyle 模式。因此,第一个列,在这种情况下,将重复绘制 [.Medium, .Small, .Medium] 顺序,直到必要时。

MozaicLayout 将为传递的每个数组生成一列,因此您在这方面没有关于列数的最小或最大限制。请勿轻视这一点!

单元格的大小基于列宽和列数。 LargeCellWidth = collectionViewContentWidth / numberOfColumns

可选方法

Mozaic 还支持这些可选方法。

func setCellHeightProportion() -> CGFloat                 //Default return = 1.0

func setHorizontalSpaceBetweenCells() -> CGFloat          //Default return = 15.0

func setVerticalSpaceBetweenCells() -> CGFloat            //Default return = 15.0

spaces

作者

卢卡·弗朗萨·戈梅斯·费雷拉 - luccafgf - [email protected]

许可证

Mozaic 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。