首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UICollectionView仅在用户双击时调用didSelectItemAtIndexPath,不会在用户双击时调用

UICollectionView仅在用户双击时调用didSelectItemAtIndexPath,不会在用户双击时调用
EN

Stack Overflow用户
提问于 2013-05-08 23:34:41
回答 14查看 44.6K关注 0票数 55

我有一台和屏幕差不多大的UICollectionView。它显示的UICollectionViewCells与collectionView的大小相同。每个单元格都有一个UIImage,它是单元格的大小。CollectionView启用了分页功能,因此它本质上是一个全屏照片幻灯片,用户可以在其中滑动。

问题是

只有当用户用两个手指在单元格上轻敲或用一根手指长按然后松开时,才会调用-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath。它似乎没有单击选择的默认行为。我没有对CollectionView手势识别器做任何更改,所以我很难找到解决这个问题的方法。

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2013-05-16 00:20:30

你确定你不是不小心覆盖了- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath吗?“选择”和“取消选择”在过去的Xcode的代码补全中让我吃了一惊。

票数 204
EN

Stack Overflow用户

发布于 2013-08-01 06:24:11

我也遇到了同样的问题,结果发现UIView上有一个包含UICollectionViewUITapGestureRecognizer,它正在响应。

这就解释了为什么只有当用户用两根手指轻敲或用一根手指长按时,didSelectItemAtIndexPath才能工作,因为这不会触发UITapGestureRecognizer

所以,检查你在那里得到的所有UITapGestureRecognizer,不一定直接在UICollectionView上,但它可以在任何包含它的UIView上。

票数 132
EN

Stack Overflow用户

发布于 2015-04-30 00:00:57

如果你在单元格上有一个视图,它阻碍了单元格的内容视图,那么你将不能挂钩到该单元格的委托回调中。

您需要在NIB或代码中禁用遮挡视图上的用户交互。

view.userInteractionEnabled = NO;

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

https://stackoverflow.com/questions/16444688

复制
相关文章

相似问题

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