CollectionViewGridLayout 版本 2.1.0

CollectionViewGridLayout 版本 2.1.0

Benoit BRIATTE 维护。



  • Digipolitan

CollectionViewGridLayout

Swift Version Build Status CocoaPods Compatible Carthage Compatible Platform Twitter

允许您仅用几行代码即可在网格中显示数据集合的布局。它可以是 UITableViewUICollectionView 的样式。

CollectionGridViewLayout Sample CollectionGridViewLayout Sample

安装

CocoaPods

使用 CocoaPods 安装 CollectionViewGridLayout,请在您的 Podfile 中添加以下行。

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

pod 'CollectionViewGridLayout'

Carthage

Carthage 是一个去中心化的依赖管理器,它构建您的依赖项并为您提供二进制框架。

您可以使用以下命令使用 Homebrew 安装 Carthage

$ brew update
$ brew install carthage

要使用 Carthage 将 CollectionViewGridLayout 集成到您的 Xcode 项目中,在您的 Cartfile 中指定它

github 'Digipolitan/collection-view-grid-layout ~> 2.1

运行 carthage update 来构建框架,并将构建的 CollectionViewGridLayout.framework 拖动到您的 Xcode 项目中。

用法

  • 通过实例化 CollectionViewVerticalGridLayoutCollectionViewHorizontalGridLayout 来初始化你的布局。
	let layout =  CollectionViewVerticalGridLayout()

与组件交互

要 kommunizieren 与布局,使用与 UICollectionViewFlowLayout 相同的方式。将你的组件声明为 CollectionViewDelegateVerticalGridLayoutCollectionViewDelegateHorizontalGridLayout,这些分别继承自 UICollectionViewDelegateUICollectionViewDataSource,只需将其分配给你的 collectionView 即可。

self.collectionView.delegate = self
self.collectionView.dataSource = self
  • 所有网格布局方向的通用协议
  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       rowSpacingForSection section: Int) -> CGFloat

  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       columnSpacingForSection section: Int) -> CGFloat

  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       insetForSection section: Int) -> UIEdgeInsets
  • CollectionViewDelegateVerticalGridLayout
  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       numberOfColumnsForSection section: Int) -> Int

  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       weightForColumn column: Int,
                                       inSection section: Int) -> CGFloat

  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       heightForItemAt indexPath: IndexPath,
                                       columnWidth: CGFloat) -> CGFloat

  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       heightForHeaderInSection section: Int) -> CGFloat

  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       heightForFooterInSection section: Int) -> CGFloat
  • CollectionViewDelegateHorizontalGridLayout
  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       numberOfRowsForSection section: Int) -> Int

  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       weightForRow row: Int,
                                       inSection section: Int) -> CGFloat

  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       widthForItemAt indexPath: IndexPath,
                                       rowHeight: CGFloat) -> CGFloat

  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       widthForHeaderInSection section: Int) -> CGFloat

  @objc optional func collectionView(_ collectionView: UICollectionView,
                                       layout collectionViewLayout: UICollectionViewLayout,
                                       widthForFooterInSection section: Int) -> CGFloat

贡献

更多详情请参阅 CONTRIBUTING.md

本项目遵循 贡献者公约行为准则。参与本项目即表示你将遵守本准则。如有不适当行为,请向 [email protected] 报告。

许可

CollectionViewGridLayout 基于 BSD 3-Clause许可证 许可。