首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UICollectionViewDelegate的奇怪行为

UICollectionViewDelegate的奇怪行为
EN

Stack Overflow用户
提问于 2012-12-13 03:29:07
回答 1查看 877关注 0票数 3

我有一个包含UICollectionView的viewController,我在其中实现了委托方法shouldSelectItemAtIndexPath和didSelectItemAtIndexPath。shouldSelect方法按预期工作,并为所选的每个单元格调用。

即使被多次点击,也不会在第一个被点击的单元格上调用didSelect方法。但是,如果您点击第二个单元格,则会调用didSelect方法,但indexPath.item值是针对之前点击的单元格的。

例如,我点击collectionView中的第一个单元格,调用shouldSelect,它的indexPath.item值= 0。不调用DidSelect,即使在单元格上多次点击也是如此。

如果我点击任何其他单元格,例如,collectionView中的第四个单元格,shouldSelect被调用,它的indexPath.item值= 3。didSelect也被调用,但它的indexPath.item值=0(之前选择的单元格)。

如果我继续选择不同的单元格,didSelect将继续被调用,但indexPath.item值始终是针对先前选择的项。如果我多次点击一个单元格,直到我点击另一个单元格,didSelect才会被调用。

有人吗?我被难住了。所有其他数据源和委托方法似乎都工作得很好。委派和数据源在故事板中连接正确。

EN

回答 1

Stack Overflow用户

发布于 2013-01-09 03:28:01

确保您的

代码语言:javascript
复制
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath

实际上并不是

代码语言:javascript
复制
- (void)collectionView:(UICollectionView *)collectionView didDeSelectItemAtIndexPath:(NSIndexPath *)indexPath

(DidDeSelect与DidSelect)

我也有同样的问题。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13847142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档