当使用UICollectionView
与allowsMultipleSelection
设置为YES只有十几个人的项目是可选的。 UICollectionViewDelegate
停止调用collectionView:didSelectItemAtIndexPath:
这似乎很随意。 您可以选择几个项目,向下滚动,选择更多一些,并在某些时候你没能选择任意多个项目。
当细胞变小,你似乎能够选择更多的项目。 该小区越大,较少的项目你能停止工作之前选择。
当使用UICollectionView
与allowsMultipleSelection
设置为YES只有十几个人的项目是可选的。 UICollectionViewDelegate
停止调用collectionView:didSelectItemAtIndexPath:
这似乎很随意。 您可以选择几个项目,向下滚动,选择更多一些,并在某些时候你没能选择任意多个项目。
当细胞变小,你似乎能够选择更多的项目。 该小区越大,较少的项目你能停止工作之前选择。
我发现,虽然我以前的答复工作,可以通过调用不超引起的。 虽然文件UICollectionReusableView
没有提到这一点,文档UITableViewCell
,它具有相同的方法,确实。
- (void)prepareForReuse
{
[super prepareForReuse]
// Your code here.
}
老答案:
这可能与一个bug UICollectionView
。
发生了什么事是先前选定的被重复使用和维护的选中状态的细胞。 收集观点并没有设定selected
为“NO”。
解决的办法是在所选择的状态在复位prepareForReuse
细胞:
- (void)prepareForReuse
{
self.selected = NO;
}
如果选择重用细胞,集合视图将设置selected
为“YES”后prepareForReuse
被调用。
这是后话了UICollectionView
应该做它自己。 值得庆幸的解决办法很简单。 不幸的是我通过跟踪我自己的选择状态度过解决此bug的工作了大量的时间。 我不知道为什么发生,直到我工作的较小的细胞另一个项目。