UICollectionViewCell 子类,使用其父级的 xib



我有一个自定义的UICollectionViewCell子类,让我们称之为CellClassOne,我正在尝试创建该单元格的一个子类,称为CellClassTwo,这样我就可以在awakeFromNib中更改属性并修改其视图中的一些约束。

但是,当我在collectionView中注册我的单元格时,它会从xib加载,所以它有父类CellClassOne。我如何创建可以由我的collectionView出列的CellClassTwo,并将其类设置为CellClassTwo(以及任何具有该类的属性和ovverides(?

我尽量避免在cellForRow中设置属性,因为我试图在应用程序的不同部分重用我的单元格,但某些视图需要稍微不同的填充,而且我不想为此创建重复的Xib文件。

如果我必须使用重复的文件,那么最好坚持在cellForRow中配置视图。

我不确定你是否可以通过xib实现你想要的,但一种可行的方法应该是按照单元生命周期以编程方式创建CellClassOne(包括所有子视图和相关布局约束(,然后用CellClassTwo相应地将其子类化。这样,您就可以像"collectionView.register(CellClassTwo.self,forCellReuseIdentifier:"myCell"("那样注册单元格。

最新更新