Swift – 如何从绑定到xib文件的自定义单元格继承
发布时间:2020-12-14 04:28:02 所属栏目:百科 来源:网络整理
导读:我有一个名为Normal ImageCell的自定义单元,它继承自UITableViewCell并绑定到xib.假设我想创建一个名为LargeImageCell的新单元,它继承自NormalImageCell而不创建一个全新的xib.我可以在没有接口构建器的情况下以编程方式轻松完成此操作,但是由于NormalImageC
我有一个名为Normal
ImageCell的自定义单元,它继承自UITableViewCell并绑定到xib.假设我想创建一个名为LargeImageCell的新单元,它继承自NormalImageCell而不创建一个全新的xib.我可以在没有接口构建器的情况下以编程方式轻松完成此操作,但是由于NormalImageCell绑定到xib并且xib中的单元只能连接到一个自定义类和一个reuseIdentifier,我如何才能将它重用于LargeImageCell?
这适用于没有Interface Builder. class LargeImageCell:NormalImageCell {…} tableView.registerClass(NormalImageCell.self,forCellWithReuseIdentifier: NormalImageCell.id()) tableView.registerClass(LargeImageCell.self,forCellWithReuseIdentifier: LargeImageCell.id()) 这与Interface Builder崩溃: tableView.registerNib(NormalImageCell.nib(),forCellWithReuseIdentifier: NormalImageCell.id()) tableView.registerNib(LargeImageCell.nib(),forCellWithReuseIdentifier: LargeImageCell.id()) 顺便说一下,我正在声明像这样的nib和id方法: class NormalImageCell: UITableViewCell { class func id() -> String { return String(self) } class func nib() -> UINib { return UINib(nibName: String(self),bundle: nil) } } class LargeImageCell: NormalmageCell { ... } 解决方法
你应该从主包中检索nib,如:
class func nib() -> UINib { return UINib(nibName: String(self),bundle: NSBundle.mainBundle()) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |