iOS如何检测UICollectionView上向左或向右滑动,否则只能垂直滚动?

时间:2014-09-08 22:02:05

标签: ios uicollectionview swipe-gesture

我的收藏视图效果很好。它显示了一个照片网格,并列出了数百个照片。您可以垂直滑动以全部滚动它们。生活很好。但是,我现在有了新的要求。我需要能够检测用户何时向左或向右滑动。我需要能够拦截这个手势,这样我就可以将行为附加到左右滑动,同时保持我的集合视图的垂直滚动功能。有什么想法吗?

2 个答案:

答案 0 :(得分:5)

您需要两个识别器,一个用于向左滑动,另一个用于向右滑动:

UISwipeGestureRecognizer* swipeUpGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeLeftFrom:)];
swipeUpGestureRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;

和处理程序:

- (void)handleSwipeLeftFrom:(UIGestureRecognizer*)recognizer {

}

最后,您将其添加到视图中:

[view addGestureRecognizer:swipeUpGestureRecognizer];

另一个方向相同(只需将所有左撇子改为权利)。

答案 1 :(得分:0)

将UISwipeGestureRecognizer添加到单元格设置,方向如下,

UISwipeGestureRecognizer *swipeRightDir = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipeRightDirection:)];
    swipeRightDir.delegate = self;
    swipeRightDir.numberOfTouchesRequired = 1;
    [swipeRightDir setDirection:UISwipeGestureRecognizerDirectionRight];