如何将 SwipeCellKit 的自定义滑动功能用于从 .xib 文件创建的自定义单元格?

Posted

技术标签:

【中文标题】如何将 SwipeCellKit 的自定义滑动功能用于从 .xib 文件创建的自定义单元格?【英文标题】:How can I use the custom swipe capabilities of SwipeCellKit for a custom cell created from a .xib file? 【发布时间】:2019-03-25 19:57:08 【问题描述】:

我有一个使用 CustomCell.xib 制作的自定义单元格以及一个与之配套的类。我使用它的方式是在viewDidLoad()注册我的自定义单元格:

categoryTableView.register(UINib(nibName: "CustomCell", bundle: nil), forCellReuseIdentifier: "customCell")
configureTableView()

然后我像这样设置单元格: 让 cell = tableView.dequeueReusableCell(withIdentifier: "customCell", for: indexPath) as!自定义类别单元格

现在,我想使用一个名为 SwipeCellKit 的 CocoaPod,它使单元格能够滑动操作以及添加图像并使滑动完全可自定义。

为了使用这个!我必须将单元格的向下转换为as! SwipeTableViewCell

所以我的问题是:有没有一种方法可以同时使用我的自定义单元格和 SwipeCellKit CocoaPod?

我最初的想法是转到表格视图控制器并直接在其中制作自定义单元格,而不是在自定义 .xib 文件中,或者复制并粘贴 GitHub 项目中给出的代码。

有什么想法吗?

非常感谢您!

【问题讨论】:

【参考方案1】:

您应该将SwipeTableViewCell 作为自定义单元格的超类,而不是UITableViewCell

import UIKit
import SwipeCellKit

class CustomCell: SwipeTableViewCell 
    [...]

【讨论】:

非常感谢,它看起来很简单,但是我有一个继承自 UITableViewDelegate 和 UITableViewDataSource 的 UIViewController。当我用 SwipeTableViewCell 替换这两个时,我收到以下错误:从类 'UIViewController' 和 'SwipeTableViewCell' 的多重继承。 UITableViewDelegate 和 UITableViewDataSource 是协议,而不是类。您应该只将自定义单元格设为 SwipeTableViewCell 的子类。 哦,我明白你的意思了,但由于某种原因它仍然不起作用。我尝试了很多事情,但没有任何工作。需要明确的是,我没有抛出任何错误,但单元格无法滑动。 你设置了cell的delegate吗? 好的,我以前做过,现在它工作了,因为我也继承自 SwipeTableViewCellDelegate。非常感谢 Tamás!

以上是关于如何将 SwipeCellKit 的自定义滑动功能用于从 .xib 文件创建的自定义单元格?的主要内容,如果未能解决你的问题,请参考以下文章

尝试删除时 SwipeCellKit 崩溃

SwipeCellKit:为啥从列表中删除一个项目,不更新 UITableview?

如何在 Flutter 中创建像这样的自定义可滑动标签栏?

Android中的自定义控件

如何根据objective-c中的滚动方向创建一个从UINavBar后面向下或向上滑动的自定义UIView?

UITableView 之上的自定义手势