CollectionViewGridLayout
允许您仅用几行代码即可在网格中显示数据集合的布局。它可以是 UITableView
或 UICollectionView
的样式。
安装
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 项目中。
用法
- 通过实例化
CollectionViewVerticalGridLayout
或CollectionViewHorizontalGridLayout
来初始化你的布局。
let layout = CollectionViewVerticalGridLayout()
与组件交互
要 kommunizieren 与布局,使用与 UICollectionViewFlowLayout
相同的方式。将你的组件声明为 CollectionViewDelegateVerticalGridLayout
或 CollectionViewDelegateHorizontalGridLayout
,这些分别继承自 UICollectionViewDelegate
和 UICollectionViewDataSource
,只需将其分配给你的 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许可证 许可。