我非常谨慎地使用带有UICollectionViewCell
的自定义可重复使用的ReuseIdentifier
,以便不必重新创建单元子视图,而只需每次都重新填充并调整新数据的大小。
我现在有一个复杂的自定义UICollectionViewCell
,其中包含一组可以重复X次的子视图,具体取决于数据。因此,细胞的一部分可以重复1到n次。这部分有几个子视图,现在我每次都重新创建它们,如果我用新数据填充一个重用的单元格。这会造成沉重的处理负担并且非常愚蠢。
是否可以仅使用此子部分创建单独的UICollectionViewCell
,然后在我的父ReuseIdentifier
中将其包含UICollectionViewCell
次X次,从而可以重复使用此子部分而不必每次都重新创建这个子部分的所有子视图?
或者简单来说,是否可以在UICollectionViewCell
中嵌套UICollectionViewCell
并从iOS的重用机制中受益?
答案 0 :(得分:1)
您可以在UICollectionViewCell中嵌套UICollectionView(或UITableView)。这可能比您现在使用的子视图方案更简单。
您的UICollectionViewCell需要为嵌套集合视图(或表视图)实现委托和数据源方法。
不要将嵌套集合视图与父UICollectionViewCell所属的集合视图混淆。换句话说,不要混用重用标识符。
答案 1 :(得分:0)
您可以在(外部)UICollectionView
的dequeue方法中调用[UICollectionView refreshdata]