我想在不重新加载或更改布局对象的情况下更改一个 UICollectionViewCell 的 UICollectionViewLayoutAttributes 属性
我做到了
UICollectionViewLayoutAttributes *attributes = [collectionView layoutAttributesForItemAtIndexPath:indexPath];
attributes.transform = CGAffineTransformMakeScale(1.5, 1.5);
但这不会传播到单元格 - 这怎么能做到?
Best Answer-推荐答案 strong>
-[UICollectionView layoutAttributesFor...] 方法返回布局属性的副本。布局返回后,您无法修改原件。
最好的办法是对布局进行子类化,并且无论何时返回该项目的属性(在 layoutAttributesForItem 或 layoutAttributesForElementsInRect 中),都返回修改后的属性。
如果更改确实是暂时的,您始终可以手动操作单元格变换。 Collection View 并不真正关心——不过,它可能会在需要重新加载单元格时重新应用属性。
关于ios - 如何更改一个单元格的 UICollectionViewLayoutAttributes,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/19901423/
|