gpt4 book ai didi

iphone - UICollectionView 委托(delegate)的 tap 方法未被调用

转载 作者:IT王子 更新时间:2023-10-29 08:04:48 25 4
gpt4 key购买 nike

我有一个 Collection View ,数据源委托(delegate)工作正常,但是 UICollectionViewDelegate:

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"didselect");
}

没有被调用,虽然我设置了委托(delegate)(就像我对数据源所做的那样并且它有效)我必须提到我的单元格是从 Nib 加载的,并且连接到 UICollectionViewCell 的子类,无论如何单元格都不会响应我的触摸。我在单元格中的 UIImageView 中启用了用户交互。

还有:

-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"this is caled");
return YES;
}

没有被调用!

正如我提到的,我确实设置了:

[self.collectionView setDelegate:self];

当然

<UICollectionViewDelegate>

我也没有任何touchBegan覆盖..

更新:

奇怪!只有长按它才会被调用!我该如何解决这个问题,我将 delaysContentTouches 设置为 NO,而且我没有实现任何手势识别器。

请帮忙。谢谢。

最佳答案

看起来在 View 层次结构中的某处有一个 UITapGestureRecognizer。默认情况下,UITapGestureRecognizer 会消耗它们接收到的触摸,这意味着它不会传递给层次结构中位于它下方的 View 。您需要找到流氓点击手势并添加此行

tapGestureRecognizer.cancelsTouchesInView = NO;

这将使它能够将触摸传递给层次结构中低于它的 View ,并有望解决您的问题。

关于iphone - UICollectionView 委托(delegate)的 tap 方法未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17700437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com