【发布时间】:2013-07-16 01:03:57
【问题描述】:
我有一个集合视图,数据源委托运行良好,但是UICollectionViewDelegate:
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"didselect");
}
虽然我设置了委托,但没有被调用(就像我对数据源所做的那样,它有效)
我不得不提到我的单元格是从笔尖加载的,并且连接到UICollectionViewCell 的子类,无论如何单元格不会响应我的触摸。我在单元格中的UIImageView 中启用了用户交互。
还有:
-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"this is caled");
return YES;
}
没有被调用!
正如我提到的,我确实设置了:
[self.collectionView setDelegate:self];
当然是
<UICollectionViewDelegate>
我也没有任何 touchBegan 覆盖 ..
更新:
奇怪!只有当我长按时它才会被调用!我该如何解决这个问题,我将 delaysContentTouches 设置为 NO 加上我没有实现任何手势识别器。
请帮忙。谢谢。
【问题讨论】:
-
你是如何定义 self.collectionView 的?带插座的故事板?在设置委托时检查它是否不为零。
-
运气好能解决这个问题吗?我今天刚遇到同样的情况。长按似乎也触发了委托。
-
这里有同样的问题。长按会选择。并且同一个项目中的另一个集合视图工作正常。
-
@henTdev 你能用适当的词更新问题的标题吗?
-
同样的问题,这是 IOS 10 的错误吗?
标签: iphone ios cocoa-touch uicollectionview