在 parent 和 child uitableviewcell 之间共享 xib 文件

Shared xib file between parent and child uitableviewcell

我想创建一个通用的 uitableviewcell,我将通过覆盖一些方法对其进行自定义。

这是我的 parent UITableViewCellIconTitleGenericTableViewCell

我在 xib 文件中设计了我的单元格:IconTitleGenericTableViewCell.xib

现在我已经用 child class 子class编辑了我的 parent 单元格:MyTitleCell

我想要的是 MyTitleCell 从它的 parent.

实例化指定的 xib 文件

我试过使用

UINib *nib = [UINib nibWithNibName:key bundle:bundle];
[tableView registerNib:nib forCellReuseIdentifier:identifier];

但是 return 中的单元格

 MyTitleCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier forIndexPath:indexPath];

是一个 IconTitleGenericTableViewCell 而不是 MyTitleCell.

我如何设法获得相同的视图和出口 link 而没有任何 xib 重复

创建一个带有常规 UIView 的 nib,文件所有者作为您的 IconTitleGenericTableViewCell,然后 initWithStyle:reuseIdentifier: 从 nib 加载视图并将其添加到单元格的内容视图.

然后使用 registerClass:forCellWithReuseIdentifier: 注册您的手机。您注册的任何 subclass 将在出队时显示为正确的 class,并将来自 nib 的视图添加到其内容视图中。

使 nib 文件独立于 UIView,使所有出口连接到 FileOwner 并使用该函数加载您的单元格:

- (instancetype) initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { {
    return [super initWithNibName:@"YourXibName" bundle:nil]);
}