ScaledCenterCarousel
这是一个基于 UICollectionView 的放大中心项的轮播布局。它包含一个可选的分页器,强制用户选择单个项,该项将在轮播图的中心展示。使用库之前,请确保查看示例项目。
示例
要运行示例项目,请克隆仓库,然后从 Example 目录首先运行 pod install
自定义
这个库被故意设计得简单,但是有几种方法可以自定义它。大多数属性都可以通过 IBInspectable
从界面构建器中设置。
布局
centerCellHeight/centerCell.height
- 中心位置单元格的高度。centerCellWidth/centerCell.width
- 中心位置单元格的宽度。normalCellHeight/normalCell.height
- 与中心位置足够远的单元格的高度。normalCellWidth/normalCell.width
- 与中心位置足够远的单元格的宽度。proposedContentOffset
- 在数据源更改后立即设置的 contentOffset。考虑您在从 Web 服务获取项目后添加项的情况,并且您希望预先选择其中一个。
分页(UICollectionViewDelegate)
如果您想允许用户每次只能选择一个项目,您可能将使用内置的 YTScaledCenterCarouselPaginator/ScaledCenterCarouselPaginator
并将其设置为您的 UICollectionView
委托。
它具有以下委托方法
-carousel:didSelectElementAtIndex: / carousel(_,didSelectElementAt)
-carousel:didScrollToVisibleCells: / carousel(_,didScrollTo)
如果您的数据源采用 YTScaledCenterCarouselDataSource/ScaledCenterCarouselDataSource
协议,它将始终知道当前选中了哪个项目,并可以使用这种知识对选中的单元格进行一些自定义。还建议检查单元格的选中状态,因为它也会相应地更新。
要求
iOS 7+
安装
CocoaPods
要通过 CocoaPods 安装,只需将以下行添加到您的 Podfile 中
pod "ScaledCenterCarousel" # ObjC version
pod "ScaledCenterCarouselSwift" # Swift version
在您的终端中运行更新命令
$ pod install
Carthage
将此行添加到您的 Cartfile 中
github "yuriy-tolstoguzov/ScaledCenterCarousel"
在您的终端中运行更新命令
$ carthage update
作者
yuriy-tolstoguzov, [email protected]
贡献
如果您想要贡献,以下是我心中想到的一些主题
- Swift迁移
- 支持垂直布局
- 文档改进
如有问题,请随时创建拉取请求或与我联系。
许可
ScaledCenterCarousel遵循MIT许可。更多信息请参阅LICENSE文件。