Cocoa touch 为什么';当我拖动项目之间的空白时,我的UICLoopDeVIEW卷轴?

Cocoa touch 为什么';当我拖动项目之间的空白时,我的UICLoopDeVIEW卷轴?,cocoa-touch,scroll,uicollectionview,Cocoa Touch,Scroll,Uicollectionview,我正在用UICollectionView创建一个网格布局,但只有按下图像时,滚动才有效。如果我按下空白空间,视图不会滚动。如何为背景和图像上的印刷机启用滚动 例如,在下面的屏幕截图中,滚动仅在按下白色方块时有效,但在按下方块之间的黑色方块时无效 我想我没有任何滚动特定的代码,但是如果您想让我添加特定的代码示例,请告诉我。如果您设置UICollectionView的backgroundColor或backgroundView,当触摸视图中的任何位置(包括示例中的白色方块之间)时,它将滚动.我终于

我正在用
UICollectionView
创建一个网格布局,但只有按下图像时,滚动才有效。如果我按下空白空间,视图不会滚动。如何为背景和图像上的印刷机启用滚动

例如,在下面的屏幕截图中,滚动仅在按下白色方块时有效,但在按下方块之间的黑色方块时无效


我想我没有任何滚动特定的代码,但是如果您想让我添加特定的代码示例,请告诉我。

如果您设置
UICollectionView
backgroundColor
backgroundView
,当触摸视图中的任何位置(包括示例中的白色方块之间)时,它将滚动.

我终于解决了这个问题。以下是我所做的:

我注意到问题是我的UICollectionViewCell的userInteractionEnabled=YES。我尝试将此值更改为“否”,然后滚动开始工作。UICollectionViewCells正在拦截触摸,并且Collection view滚动条不工作

但我有一个附带的问题:一旦我接触一个单元格,didSelectItemAtIndexPath方法就不会被调用

我的解决方案是添加一个UITapGestureRecognitor来检测单元格是否被触摸,并手动调用此方法

将此添加到viewDidLoad方法:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapGestureCaptured:)];
[self.collectionView addGestureRecognizer:singleTap];
下面是SingleTapGestureCapture方法:

- (void)singleTapGestureCaptured:(UITapGestureRecognizer *)gesture
{
    CGPoint touchPoint=[gesture locationInView:self.collectionView];
    NSIndexPath* indexPath = [self.collectionView indexPathForItemAtPoint:touchPoint];
    [self collectionView:self.collectionView didSelectItemAtIndexPath:indexPath];
}

希望这对你有帮助

同样的问题,答案1不起作用