hen*_*dev 20 iphone cocoa-touch ios uicollectionview
我有一个集合视图,datasource委托工作得很好,但是UICollectionViewDelegate:
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"didselect");
}
Run Code Online (Sandbox Code Playgroud)
没有被调用,虽然我设置了委托(就像我使用数据源并且它工作)我不得不提到我的单元格从一个笔尖加载并连接到一个子类UICollectionViewCell,无论如何,单元格不响应我的触摸.我UIImageView在我的单元格中启用了用户交互.
还:
-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"this is caled");
return YES;
}
Run Code Online (Sandbox Code Playgroud)
没有被召唤!
正如我提到的,我确实设置了:
[self.collectionView setDelegate:self];
Run Code Online (Sandbox Code Playgroud)
而且当然
<UICollectionViewDelegate>
Run Code Online (Sandbox Code Playgroud)
我也没有任何touchBegan覆盖..
更新:
奇怪的!如果我长按,它只会被调用!我怎么能解决这个问题,我将delayedContentTouches设置为NO加上我没有实现任何手势识别器.
请帮忙.谢谢.
aks*_*h1t 40
看起来UITapGestureRecognizer在视图层次结构中有某个地方.默认情况下,UITapGestureRecognizers消耗它们接收的触摸,这意味着它不会传递给层次结构中它下面的视图.您需要找到流氓轻击手势并添加此行
tapGestureRecognizer.cancelsTouchesInView = NO;
Run Code Online (Sandbox Code Playgroud)
这将使它通过触摸层次结构中它下面的视图,并希望解决您的问题.
| 归档时间: |
|
| 查看次数: |
18571 次 |
| 最近记录: |