我試圖將UISwipeGestureRecognizer添加到以編程方式創建的UIColletionView中,但識別器從不會調用該操作。這是我的代碼。UICollectionView上的UISwipeGestureRecognizer不起作用
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
flowLayout.scrollDirection = UICollectionViewScrollDirectionVertical;
self.currentCollectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0.0f, 54.0f, 320.0f, 470.0f) collectionViewLayout:flowLayout];
[self.currentCollectionView setBackgroundColor:[UIColor whiteColor]];
self.currentCollectionView.delegate = self;
self.currentCollectionView.dataSource = self;
self.currentCollectionView.showsHorizontalScrollIndicator = NO;
self.currentCollectionView.showsVerticalScrollIndicator = NO;
self.currentCollectionView.scrollEnabled = YES;
self.currentCollectionView.bounces = YES;
[self.currentCollectionView setBackgroundColor:[UIColor lightGrayColor]];
[self.currentCollectionView registerClass:[TripexpPhotoCell class] forCellWithReuseIdentifier:@"photoCell"];
[self.view addSubview:self.currentCollectionView];
self.swipeUpRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipeUp:)];
self.swipeUpRecognizer.numberOfTouchesRequired = 1;
[self.swipeUpRecognizer setDirection:UISwipeGestureRecognizerDirectionUp];
self.swipeDownRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipeDown:)];
self.swipeDownRecognizer.numberOfTouchesRequired = 1;
[self.swipeDownRecognizer setDirection:UISwipeGestureRecognizerDirectionDown];
[self.currentCollectionView addGestureRecognizer:self.swipeDownRecognizer];
[self.currentCollectionView addGestureRecognizer:self.swipeUpRecognizer];
這裏是功能並同時接收相同的識別
#pragma mark - UISwipeGestureRecognizer Action
-(void)didSwipeUp: (UISwipeGestureRecognizer*) recognizer {
NSLog(@"Swiped Up");
}
-(void)didSwipeDown: (UISwipeGestureRecognizer*) recognizer {
NSLog(@"Swiped Down");
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
NSLog(@"Asking permission");
return YES;
}
我也環的UICollectionView內,檢查是否有任何現有的UISwipeGestureRecognizer卻找不着委託。所以我重視我的2個識別後,然後我看到那些2.
它不工作,即使我加了自我。並且我還添加了swipeUpRecognizer –