我有一个自定义的UICollectionViewCell
子类,让我们称之为CellClassOne
,我正在尝试创建该单元格的一个子类,称为CellClassTwo
,这样我就可以在awakeFromNib
中更改属性并修改其视图中的一些约束。
但是,当我在collectionView中注册我的单元格时,它会从xib加载,所以它有父类CellClassOne
。我如何创建可以由我的collectionView出列的CellClassTwo
,并将其类设置为CellClassTwo
(以及任何具有该类的属性和ovverides(?
我尽量避免在cellForRow
中设置属性,因为我试图在应用程序的不同部分重用我的单元格,但某些视图需要稍微不同的填充,而且我不想为此创建重复的Xib文件。
如果我必须使用重复的文件,那么最好坚持在cellForRow
中配置视图。
我不确定你是否可以通过xib实现你想要的,但一种可行的方法应该是按照单元生命周期以编程方式创建CellClassOne(包括所有子视图和相关布局约束(,然后用CellClassTwo相应地将其子类化。这样,您就可以像"collectionView.register(CellClassTwo.self,forCellReuseIdentifier:"myCell"("那样注册单元格。