当使用UICollectionView
with allowsMultipleSelection
设置为“是”时,只有十几个项目可供选择。UICollectionViewDelegate
停止打电话collectionView:didSelectItemAtIndexPath:
.
看起来很随意。您可以选择几个项目,向下滚动,选择更多项目,但在某些时候您无法选择更多项目。
当单元格较小时,您似乎可以选择更多项目。单元格越大,在停止工作之前您可以选择的项目就越少。
我发现虽然我之前的答案有效,但这可能是由于没有调用 super.虽然文档UICollectionReusableView
没有提到这一点,文档UITableViewCell
,它具有相同的方法,确实如此。
- (void)prepareForReuse
{
[super prepareForReuse]
// Your code here.
}
旧答案:
这可能是一个错误UICollectionView
.
发生的情况是先前选择的单元格被重用并保持所选状态。集合视图未设置selected
到“否”。
解决方案是重置所选状态prepareForReuse
细胞的:
- (void)prepareForReuse
{
self.selected = NO;
}
如果选择了重用单元格,则集合视图将设置selected
到“是”后prepareForReuse
叫做。
这是某件事UICollectionView
应该自己做。值得庆幸的是,解决方案很简单。不幸的是,我花了很多时间通过跟踪我自己的选择状态来解决这个错误。我没有意识到why直到我正在从事另一个具有较小单元的项目时,这种情况才发生。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)