Ios CollectionView单元格上的UISwipegestureRecognitor不工作
我有一个带有多个单元格的UICollectionView(水平布局)。设备上只应显示一个单元格,4秒钟后,下一个单元格淡入,旧的单元格应退出屏幕。这很好用。我正在使用NSTimer进行自动动画 我的问题是,当用户触摸(而不是单击!)其中一个单元格时,我想停止此动画。所以我制作了一个UISweepGestureRecognitor,如下所示:Ios CollectionView单元格上的UISwipegestureRecognitor不工作,ios,object,uicollectionview,uiswipegesturerecognizer,Ios,Object,Uicollectionview,Uiswipegesturerecognizer,我有一个带有多个单元格的UICollectionView(水平布局)。设备上只应显示一个单元格,4秒钟后,下一个单元格淡入,旧的单元格应退出屏幕。这很好用。我正在使用NSTimer进行自动动画 我的问题是,当用户触摸(而不是单击!)其中一个单元格时,我想停止此动画。所以我制作了一个UISweepGestureRecognitor,如下所示: - (void)viewDidLoad { [super viewDidLoad]; UISwipeGestureRecognizer *collectio
- (void)viewDidLoad
{
[super viewDidLoad];
UISwipeGestureRecognizer *collectionViewSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self.collectionView action:@selector(didTouchCell:)];
collectionViewSwipe.delegate = self;
collectionViewSwipe.numberOfTouchesRequired = 1;
[self.collectionView addGestureRecognizer:collectionViewSwipe];
}
- (void)didTouchCell: (UISwipeGestureRecognizer*) recognizer {
[self.collectionViewTimer invalidate];
}
但是“didTouchCell”从未被调用…结果是CollectionView位于UIScrollView之上,因此我必须在我的控制器中实现此方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return true;
}