测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可 | MIT |
发布上次发布 | 2018年1月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Robert Herdzik 维护。
我非常羡慕 Spotify iOS 应用中的这个出色的播放列表预览单元格
您可以使用 Cocoapods 安装 RHPreviewCell 库
pod 'RHPreviewCell'
或者您可以将 RHPreviewCellSource
文件夹直接复制到您的项目中。
要完全集成 RHPreviewCell 到您的 Table View,您只需要在您的 TableView 数据源 'cellForRowAtIndexPath' 方法中将 RHPreviewCell 类似于常规 UITableViewCell 使用即可。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// Fetching already registered RHPreviewTableViewCell
let cell = tableView.dequeueReusableCellWithIdentifier(reuseCellIdentifier) as! RHPreviewTableViewCell
// Delegate using which, tiles will talk to your class
cell.delegate = self
// Data source for feed small tiles 🚼
cell.dataSource = self
return cell
}
RHPreviewCellDataSource
和 RHPreviewCellDelegate
协议。这样您就能提供所有必需的数据供 RHPreviewTableViewCell
铅块使用。
func previewCellNumberOfTiles(cell: RHPreviewTableViewCell) -> Int
func previewCell(cell: RHPreviewTableViewCell, tileForIndex: Int) -> RHPreviewTileView
func previewCell(cell: RHPreviewTableViewCell, didSelectTileAtIndex indexValue: RHTappedTileIndexValue)
就是这样!
如我所说,使用 RHPreviewCellDelegate
。我将向您展示如何针对特定单元格进行处理
func previewCell(cell: RHPreviewTableViewCell, didSelectTileAtIndex indexValue: RHTappedTileIndexValue) {
let cellIndex = tableView.indexPathForCell(cell)!.row
switch indexValue {
case .TileTapped(let index):
print("😲 \(index) has been selected")
case .FingerReleased:
print("🖖🏽 Finger has been released (non of tiles has been tapped)")
}
}
…如您所见,委托方法作为参数接受 RHTappedTileIndexValue
,是的…这是一个 Swift 标准枚举,您可以用它来收集有关被点击图块的信息(例如 .TileTapped(let index)
)或_even_用户是否将手指从图块区域移开(.FingerReleased
)。
库版本 | Swift 版本 |
---|---|
1.0.1 | 2.2 |
请查看示例项目,您可以详细了解库是如何实现的。