2014-11-13 3 views
1

저는 여러 개의 셀이있는 UICollectionView (가로 레이아웃)가 있습니다. 장치에 하나의 셀만 표시되어야하며 4 초 후에 다음 셀이 페이드 인되고 오래된 셀이 화면에서 사라져야합니다. 이것은 완벽하게 작동합니다. 나는 자동 애니메이션을 위해 NSTimer를 사용하고있다.CollectionView의 UISwipeGestureRecognizer가 작동하지 않습니다.

내 문제는 사용자가 셀 중 하나를 만졌을 때 (클릭하지 않으면)이 애니메이션을 멈추고 싶다는 것입니다. 그래서 나는이 같은 UISwipeGestureRecognizer 만든 : 그래서 난이 방법을 구현했다

- (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"...

답변

2

CollectionView가있는 UIScrollView 위에 것을 밝혀 내 컨트롤러 :

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
return true; 
} 
관련 문제