本库提供了一个自定义的 UICollectionView,允许展开和折叠部分。提供了一套简单的 API 来管理集合视图的外观。
要求
- iOS 9.0+
- Xcode 10.2+
- Swift 5.0+
安装
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。您可以用以下命令安装它:$ gem install cocoapods
$ gem install cocoapods
要使用 CocoaPods 将 CampcotCollectionView 集成到您的 Xcode 项目中,在您的 Podfile 中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target '<Your Target Name>' do
pod 'CampcotCollectionView'
end然后,运行以下命令:
$ pod install
用法
手动设置
import CampcotCollectionView- 创建 CollectionView
let campcotCollectionView = CampcotCollectionView()- 将
campcotCollectionView添加到视图层级。 - 在
campcotCollectionView上调用toggle方法。
public func toggle(to section: Int,
offsetCorrection: CGFloat = default,
animated: Bool,
completion: ((Bool) -> Void)? = default)Storyboard 设置
- 将 UICollectionView 添加到您的 Storyboard 中。
- 在
Identity Inspector中将Class属性设置为CampcotCollectionView。 - 打开
Attributes Inspector并将Layout属性设置为Custom。将Class属性设置为ExpandedLayout或CollapsedLayout。 - 为您的一个 collectionView 创建 outlet。
- 为 collectionView 设置数据源和代理。
- 在
Attributes Inspector中设置 collectionView 的设置,或手动设置。
文档
CampcotCollectionView
一个布尔值,用于确定是否展开部分。
public var isExpanded: Bool { get }展开所有部分。将索引为 section 的部分固定到视图边界顶部。 offsetCorrection - 从顶部对固定部分的偏移。默认值 `offsetCorrection` 为 `0`。 animated - 如果 `true`,则使用动画展开部分。 completion - 动画完成的回调。
public func expand(from section: Int,
offsetCorrection: CGFloat = default,
animated: Bool,
completion: ((Bool) -> Void)? = default)折叠所有部分。将索引为 section 的部分固定到视图边界顶部。 offsetCorrection - 从顶部对固定部分的偏移。默认值 `offsetCorrection` 为 `0`。 animated - 如果 `true`,则使用动画折叠部分。 completion - 动画完成的回调。
public func collapse(to section: Int,
offsetCorrection: CGFloat = default,
animated: Bool,
completion: ((Bool) -> Void)? = default)在折叠和展开状态之间切换当前状态。将索引为 section 的部分固定到视图边界顶部。 offsetCorrection - 从顶部对固定部分的偏移。默认值 `offsetCorrection` 为 `0`。 animated - 如果 `true`,则使用动画切换部分。 completion - 动画完成的回调。
public func toggle(to section: Int,
offsetCorrection: CGFloat = default,
animated: Bool,
completion: ((Bool) -> Void)? = default)