Zap*_*hod 2 objective-c selection ios uicollectionview uicollectionviewcell
我有一个UICollectionView像工具选择容器一样使用的东西.你有很多工具(单元格),当你选择一个工具时,取消选择前一个选择,依此类推......你一次只能选择一个工具.
问题是我无法设法选择单元格.当我点击单元格时,collectionView:didSelectItemAtIndexPath:会调用它.然后我重新加载选定的单元格来改变它的外观(我改变alpha了图像)[collectionView reloadItemsAtIndexPaths:@[indexPath]].
好吧,重新加载单元格确定,除了一个该死的东西:在collectionView:cellForItemAtIndexPath:单元格中永远不会将selected属性设置为YES!所以我永远不能改变它,alpha因为我不知道什么时候我必须画一个选定的单元格.
更糟糕的[collectionView indexPathsForSelectedItems]是:永远是空的!
我甚至没有提到collectionView:didDeselectItemAtIndexPath:从未被称为......
好吧,如果有人能帮我理解发生的事情,请提前感谢...
当您调用reloadItemsAtIndexPaths:集合视图时,会丢弃这些单元格并创建新单元格,从而丢弃单元格的选定状态.
我建议几个不同的选择:
1.)在collectionView:didSelectItemAtIndexPath:调用cellForItemAtIndexPath:中获取对所选单元格的引用并在那里更新它的外观.
2.)(我最喜欢的)UICollectionViewCell如果你还没有,请使用自定义子类,并覆盖该方法setSelected:.在选择单元格时,您将收到通知,您可以从子类中更新外观.
| 归档时间: |
|
| 查看次数: |
2967 次 |
| 最近记录: |