UICollectionViewGallery 0.1.8

UICollectionViewGallery 0.1.8

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最新发布2017年10月
SwiftSwift版本4.0
SPM支持SPM

ro6lyo维护。







垂直无限滚动布局

水平无限滚动布局

Gif

使用方法

Gif

通用初始化

UICollectionViewGallery作为UICollectionView扩展实现,所有公共函数都是

通过UICollectionView类的实例可访问的。所以基本上,您需要一个UICollectionView的实例,
这些可以是通过代码编程或通过Storyboard创建的。
基本使用

import UICollectionViewGallery

...
    @IBOutlet weak var galleryCollectionView: UICollectionView!

您可以使用以下功能和属性设置基本的UICollectionViewGallery:`GalleryFlowStyle`,它表示不同样式的枚举,`minLineSpacing`表示细胞之间

的空间,`itemSize`表示细胞的尺寸,`minScaleFactor`表示中心细胞和其余可见细胞之间的缩放因子。

galleryCollectionView.setGallery(withStyle: .autoDynamic, minLineSpacing: 10, itemSize: CGSize(width: 200, height: 200),minScaleFactor:0.6)

请注意,这种方式为垂直和水平布局设置相同的单元格属性,但是如果您需要更定制的设置,您可以通过以下方法分别设置两种流程布局。

galleryCollectionView.setGallery(forLayout: .vertical, minLineSpacing: 10, itemSize: CGSize(width: 200, height:200), minScaleFactor: 0.5)
galleryCollectionView.setGallery(forLayout: .horizontal, minLineSpacing: 20, itemSize: CGSize(width: 300, height:300), minScaleFactor: 0.8)
galleryCollectionView.setGalleryWithCustomFlows(andStyle: .autoDynamic)

行为

您可以通过调用以下函数禁用`无限滚动`和`缩放`,它们默认启用。

galleryCollectionView.setGaleryBehavior(forInfiniteScroll: false, andScalingElemnts: false)

支持的风格

public enum GalleryFlowStyle {
    case vertical         // vertical flow
    case horizontal       // horizontal flow
    case autoFixed        // flow based on initial aspeciRatio  eg. height > width = Vertical, 
                          //                                        heignt < width = Horizontal
    case autoDynamic      // auto flow based on dynamic aspect ratio: requares orientation change event to be catched   
}

最终稿

对于`无限滚动`和`.autoDynamic`样式支持,您必须正确处理2个事件,并调用适当的函数。

 func scrollViewDidScroll(_ scrollView: UIScrollView) {
        galleryCollectionView.recenterIfNeeded()
    }
  override func willRotate(to toInterfaceOrientation: UIInterfaceOrientation, duration: TimeInterval) {
        galleryCollectionView.changeOrientation()
    }

附加方法

您可以使用以下 UICollectionView 扩展的公共属性找到中心元素的索引路径:`centerCellIndexPath`。

galleryCollectionView.centerCellIndexPath

它返回可选的索引路径,对应于CollectionView的中心元素

示例

要运行示例项目,首先克隆仓库,然后从Example目录运行pod install

要求

  • iOS 9.+
  • Xcode 8.1+
  • Swift 3.0+

安装

UICollectionViewGallery可通过CocoaPods获取。要安装
它,只需将以下行添加到您的Podfile中

pod "UICollectionViewGallery"

作者

ro6lyo,[email protected]

许可证

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