【问题标题】:UICollectionViewCell subclass that uses its parent's xib使用其父 xib 的 UICollectionViewCell 子类
【发布时间】:2021-09-23 14:29:56
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ios swift uicollectionview uicollectionviewcell


    【解决方案1】:

    我不确定您是否可以通过 xib 实现您正在寻找的东西,但一种可行的方法是在单元格生命周期之后以编程方式(包括所有子视图和相关布局约束)创建 CellClassOne,然后进行子类化它与 CellClassTwo 相应地。这样你应该可以像‘collectionView.register(CellClassTwo.self, forCellReuseIdentifier: "myCell")'这样注册单元格。

    【讨论】:

    • 我认为你是对的。但是笔尖非常复杂,所以我不想用代码翻译整个东西。我会再等一会儿,看看是否有人想出了办法做到这一点,否则我会接受你无法做到的回答:)
    猜你喜欢
    • 2013-01-06
    • 2015-12-26
    • 2021-12-14
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    相关资源
    最近更新 更多