我想创建一个通用的uitableviewcell,我将通过覆盖一些方法来自定义它。
有我的父 UITableViewCell : IconTitleGenericTableViewCell
我在xib文件中设计了我的单元格:IconTitleGenericTableViewCell.xib
现在我已经用这个子类子类子类化了我的父单元格:MyTitleCell
我想要的是MyTitleCell从它的父级实例化指定的xib文件。
我试过使用
UINib *nib = [UINib nibWithNibName:key bundle:bundle];
[tableView registerNib:nib forCellReuseIdentifier:identifier];
但是细胞返回
MyTitleCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier forIndexPath:indexPath];
是一个 IconTitleGenericTableViewCell 而不是 MyTitleCell。
我如何设法获得相同的视图和插座链接而没有任何 xib 重复?
制作一个带有常规UIView
的笔尖,文件所有者作为您的IconTitleGenericTableViewCell
,initWithStyle:reuseIdentifier:
从笔尖加载视图并将其添加到单元格的内容视图中。
然后使用 registerClass:forCellWithReuseIdentifier:
注册您的细胞。您注册的任何子类在取消排队时都将显示为正确的类,并将笔尖中的视图添加到其内容视图中。
使笔尖文件独立于UIView,与FileOwner建立所有插座连接,并使用该功能加载单元格:
- (instancetype) initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { {
return [super initWithNibName:@"YourXibName" bundle:nil]);
}