EECellSwipeGestureRecognizer
一个干净且简单的方式来实现 UITableViewCell 的滑动动作。您只需将手势识别器添加到您想要的单元格中即可。这就是全部;您不需要继承任何东西。
这个库是用 Swift 编写的,基于 David Román 的 DRCellSlideGestureRecognizer。
特性
- UITableView/UITableViewCell 类无关。
- 为多个单元格片段设置多个操作。
- 完全自定义。
- 块驱动。
安装
嵌入式框架需要 iOS 8 及以上的最低部署目标,请使用 Xcode 8 和 Swift 3。
CocoaPods
CocoaPods 是 Objective-C 和 Swift 项目的依赖管理工具。它有数千个库,可以帮助您优雅地扩展项目。您可以使用以下命令安装它
gem install cocoapods
Podfile
要使用 CocoaPods 将 EECellSwipeGestureRecognizer 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
pod 'EECellSwipeGestureRecognizer', '~> 1.3'
end
然后,运行以下命令
pod install
Carthage
Carthage 是一个去中心化的依赖管理器,构建您的依赖并提供二进制框架。
您可以使用以下命令使用 Homebrew 安装 Carthage
brew update
brew install carthage
要使用 Carthage 将 EECellSwipeGestureRecognizer 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它
github "enricenrich/EECellSwipeGestureRecognizer" ~> 1.3
运行 carthage
命令构建框架,并将构建的 EECellSwipeGestureRecognizer.framework
拖放到您的 Xcode 项目中。
手动
将位于 源
文件夹中的所有文件拖放到您的项目中。
速览
设置动作
首先实例化 EECellSwipeGestureRecognizer
以添加后续的动作
let gestureRecognizer: EECellGestureRecognizer = EECellGestureRecognizer()
然后,像这样简单地实例化 EECellSwipeAction
let action: EECellSwipeAction = EECellSwipeAction(fraction: 0.25)
action.behavior = .Push
action.icon = UIImage(named: "yourImage")
注意:fraction
确定动作会激活并准备触发的单元格部分。它可以从 0 到 1(向右滑动),也可以从 0 到 -1(向左滑动)。
最后,将动作添加到手势识别器,并将手势识别器添加到单元格中
gestureRecognizer.addActions([action])
cell.addGestureRecognizer(gestureRecognizer)
注意:应在该说明提供的指令在 tableView:cellForRowAtIndexPath:
方法内或是在您创建的子类中执行。
自定义操作
有多种 EECellSwipeAction
属性可供您自定义单元格的外观和交互性
behavior
: 操作被用户触发后的行为。可能的值EECellSwipeActionBehavior.Pull
: 单元格回到原始位置。EECellSlideActionBehavior.Push
: 单元格被推到表格边缘。icon
: 要显示的操作的图像。iconMargin
: 图标的边距。activeColor
: 操作激活时图标的颜色。inactiveColor
: 操作非激活时图标的颜色。activeBackgroundColor
: 操作激活时的背景颜色。inactiveBackgroundColor
: 操作非激活时的背景颜色。willTrigger
: 当单元格根据其行为属性要表现时触发的代码块。didTrigger
: 当单元格已经根据其行为属性表现时触发的代码块。在这里您应该执行单元格操作的主要任务。didChangeState
: 当操作达到激活/非激活状态时触发的代码块。
许可证
EECellSwipeGestureRecognizer 受 MIT 许可证保护。
联系方式
您可以在 Twitter 上找到我(@enricenrich)或在我的 网站 上。