RHPreviewCell 1.1.0

RHPreviewCell 1.1.0

测试已测试
Lang语言 SwiftSwift
许可 MIT
发布上次发布2018年1月
SwiftSwift 版本3.0
SPM支持 SPM

Robert Herdzik 维护。



  • Robert Herdzik

RHPreviewCell🌶

我非常羡慕 Spotify iOS 应用中的这个出色的播放列表预览单元格😍,所以我决定创建自己的一个🌶。现在您可以给用户提供快速查看“在您的 UITableViewCell 中隐藏了什么内容”的能力。很好的一点是,这个库不需要用户设备支持 3D Touch。💥.

试试手😎

安装

您可以使用 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
}

💡重要的是,您的 View Controller 需要遵守 RHPreviewCellDataSourceRHPreviewCellDelegate 协议。这样您就能提供所有必需的数据供 RHPreviewTableViewCell 铅块使用。

RHPreviewCellDataSource

func previewCellNumberOfTiles(cell: RHPreviewTableViewCell) -> Int
func previewCell(cell: RHPreviewTableViewCell, tileForIndex: Int) -> RHPreviewTileView

RHPreviewCellDelegate

func previewCell(cell: RHPreviewTableViewCell, didSelectTileAtIndex indexValue: RHTappedTileIndexValue)

就是这样!💥您已经将库与您的 Table View 集成了🎉

我的实现提示

问题:图块如何与我的类进行交互🤔

如我所说,使用 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 支持

库版本 Swift 版本
1.0.1 2.2

检查示例项目

请查看示例项目,您可以详细了解库是如何实现的。