可能有嵌套的可重用 UICollectionViewCells

Possible to have nested reusable UICollectionViewCells

我非常小心地将自定义可重用 UICollectionViewCellReuseIdentifier 一起使用,这样就不必重新创建单元格子视图,而只需每次使用新数据重新填充和调整大小。

我现在有一个复杂的自定义 UICollectionViewCell,其中包含一组可以重复 X 次的子视图,具体取决于数据。所以单元格的一部分可以重复1到n次。这部分有几个子视图,现在如果我用新数据填充一个重用的单元格,我每次都会重新创建它们。这会产生沉重的处理负载并且非常愚蠢。

是否可以创建一个仅包含此子部分的单独 UICollectionViewCell,然后将其与 ReuseIdentifier X 次包含在我的父 UICollectionViewCell 中,从而受益于重用此子部分而不是必须每次都重新创建该子部分的所有子视图?

或者更简单地说,是否可以在 UICollectionViewCell 中嵌套一个 UICollectionViewCell 并从 iOS 的重用机制中受益?

可以在(外层)UICollectionView

的dequeue方法中调用[UICollectionView refreshdata]

您可以在 UICollectionViewCell 中嵌套 UICollectionView(或 UITableView)。这可能比您现在使用的子视图方案更简单。

您的 UICollectionViewCell 需要为嵌套集合视图(或 table 视图)实现委托和数据源方法。

不要将嵌套集合视图与父 UICollectionViewCell 所属的集合视图混淆。换句话说,不要混合重用标识符。