ExcelCollectionViewLayout 0.1.1

ExcelCollectionViewLayout 0.1.1

Rafael Rocha 维护。



  • 作者
  • Rafael Rocha

ExcelCollectionViewLayout

Version License Platform Language

基于 Brightec 的解决方案,此 Pod 允许您拥有一个 UIColletionView,其工作方式类似于 Excel(PC)或 Numbers’(OS X)的电子表格。更重要的是,您将完全控制您的 UICollectionView 的设计和外观!

这是已实现 UICollectionView 中的预期行为

UICollectionView's expected behavior

要求

  • iOS 8.0+
  • Xcode 8.0+
  • Swift 4.0

安装

CocoaPods

ExcelCollectionViewLayout 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile:

pod 'ExcelCollectionViewLayout'

手动方式

只需将ExcelCollectionViewLayout.swift拖放到您的项目中。

使用方法

将ExcelCollectionViewLayout设置为您的UICollectionView的布局

  • 前往您的UICollectionView的检查器
  • 在布局选择器中选择Custom
  • 在类选择器中输入ExcelCollectionViewLayout(它应该自动完成并在下拉列表中显示)。

UICollectionView's inspector

设置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的方法时,部分是行,行是列。

Section-row relationship.

示例

要运行示例项目,请在终端输入pod try ExcelCollectionViewLayout。或者克隆库,然后从示例目录运行pod install

作者

Rafael Rocha 创建、更新和维护。

许可

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