gpt4 book ai didi

ios - UICollectionView 选择不会持续

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:16:53 24 4
gpt4 key购买 nike

我有一个 UICollectionView 我用它作为工具选择容器。你有很多工具(单元格),当你选择一个时,前一个选择被取消选择,依此类推......你一次只能选择一个工具。

问题是我无法选择单元格。当我点击单元格时,将调用 collectionView:didSelectItemAtIndexPath:。然后,我使用 [collectionView reloadItemsAtIndexPaths:@[indexPath]] 重新加载所选单元格以更改其外观(我更改图像的 alpha)。

好的,重新加载单元格,除了一件该死的事情:在 collectionView:cellForItemAtIndexPath: 中,单元格永远不会将 selected 属性设置为 YES!所以我永远无法更改 alpha,因为我永远不知道何时必须绘制选定的单元格。

更糟糕的是:[collectionView indexPathsForSelectedItems] 总是空的!!!

我什至没有提到从未调用过的 collectionView:didDeselectItemAtIndexPath:...

好吧,如果有人能帮助我了解发生了什么,在此先感谢...

最佳答案

当您调用 reloadItemsAtIndexPaths: 时, Collection View 会丢弃这些单元格并创建新单元格,从而丢弃单元格的选定状态。

我建议几个不同的选项:

1.) 在 collectionView:didSelectItemAtIndexPath: 中调用 cellForItemAtIndexPath: 以获取对所选单元格的引用并在那里更新它的外观。

2.)(我的最爱)如果您还没有使用 UICollectionViewCell 的自定义子类,并覆盖方法 setSelected:。当单元格被选中时,您会收到通知,您可以从子类中更新外观。

关于ios - UICollectionView 选择不会持续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21368530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com