ExcelCollectionViewLayout
基于 Brightec 的解决方案,此 Pod 允许您拥有一个 UIColletionView,其工作方式类似于 Excel(PC)或 Numbers’(OS X)的电子表格。更重要的是,您将完全控制您的 UICollectionView 的设计和外观!
这是已实现 UICollectionView 中的预期行为
要求
- iOS 8.0+
- Xcode 8.0+
- Swift 4.0
安装
CocoaPods
ExcelCollectionViewLayout 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile:
pod 'ExcelCollectionViewLayout'
手动方式
只需将ExcelCollectionViewLayout.swift拖放到您的项目中。
使用方法
将ExcelCollectionViewLayout设置为您的UICollectionView的布局
- 前往您的UICollectionView的检查器
- 在布局选择器中选择
Custom
- 在类选择器中输入
ExcelCollectionViewLayout
(它应该自动完成并在下拉列表中显示)。
设置ExcelCollectionViewLayout的代理,负责计算每一列的项目大小
override func viewDidLoad() {
super.viewDidLoad()
if let collectionLayout = collectionView.collectionViewLayout as? ExcelCollectionViewLayout {
collectionLayout.delegate = self
}
}
设置ExcelCollectionViewLayoutDelegate
后,您必须实现代理的方法,这将允许您计算列的项目大小,或任选设置它
func collectionViewLayout(_ collectionViewLayout: ExcelCollectionViewLayout, sizeForItemAtColumn columnIndex: Int) -> CGSize {
return CGSize(width: 100, height: 50)
}
PS.: 这个库的例子有一个关于计算项目大小的很好的示例。
设置完成!就像之前说的,您仍然可以控制您的UICollectionView的设计和外观,它只需要关注UICollectionView的单元格排列!
请注意:当设置UICollectionViewDataSource的方法时,部分是行,行是列。
示例
要运行示例项目,请在终端输入pod try ExcelCollectionViewLayout
。或者克隆库,然后从示例目录运行pod install
。
作者
由 Rafael Rocha 创建、更新和维护。
许可
ExcelCollectionViewLayout在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。