VSCollectionViewCellInsetFlowLayout 1.0.4

VSCollectionViewCellInsetFlowLayout 1.0.4

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年8月
SwiftSwift 版本3.0
SPM支持 SPM

Gwenn Guihal 维护。




VSCollectionViewCellInsetFlowLayout

VSCollectionViewCellInsetFlowLayout,基于 UICollectionViewFlowLayout,可以实现对单元格添加边距

VSCollectionViewCellInsetFlowLayout

开始使用

基于与 collectionView(_:layout:insetForSectionAt:) 相同的原则,VSCollectionViewCellInsetFlowLayout 提供了一个委托方法来定义 UICollectionViewCell 上的边距

设置

实例化一个 VSCollectionViewCellInsetFlowLayout,然后将其设置为 collectionView 的布局

collectionView.collectionViewLayout = VSCollectionViewCellInsetFlowLayout()

VSCollectionViewCellInsetFlowLayout 如果此委托符合 VSCollectionViewDelegateCellInsetFlowLayout,则使用 collectionView 委托。实现 collectionView(_:layout:insetForItemAt:)

extension ViewController : VSCollectionViewDelegateCellInsetFlowLayout {
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForItemAt indexPath: IndexPath) -> UIEdgeInsets {
        if indexPath.item == 0 {
            return UIEdgeInsets(top: 0, left: 0, bottom: 10, right: 0)
        }
        return UIEdgeInsets.zero
    }
}

就可以啦!

注意

如果 flowLayout 的 scrollDirection 是 垂直

  • inset.top 会垂直偏移项目,inset.bottom 会垂直偏移下一个项目或者如果没有更多单元格则偏移内容大小。所有下一个项目和内容大小也会垂直偏移指定的边距。
  • inset.left 会水平偏移项目并从单元格宽度中减去值,inset.right 会更新单元格的宽度而不偏移其原点。其他单元格和内容大小不会被指定的边距影响。

如果 flowLayout 的 scrollDirection 是 水平

  • inset.left 会水平偏移项目,inset.right 会偏移下一个项目或者如果没有更多单元格则偏移内容大小。所有下一个项目和内容大小也会水平偏移指定的边距。
  • inset.top 会垂直偏移项目并从单元格高度中减去值,inset.bottom 会更新项目的高度而不偏移其原点。其他项目和内容大小不会被指定的边距影响。

安装

手动安装

  • 下载 VSCollectionViewCellInsetFlowLayout 的最新版本。
  • 将文件夹 VSCollectionViewCellInsetFlowLayout 导入到您的项目中。

示例

您可以下载项目查看整合的示例。

致谢

VSCollectionViewCellInsetFlowLayout由Voyages-sncf.com拥有和维护。

VSCollectionViewCellInsetFlowLayout最初由Gwenn Guihal创建。

许可证

VSCollectionViewCellInsetFlowLayout遵循MIT许可证发布。