2014-09-08 3 views
1

Моя коллекция отлично работает. Он показывает сетку фотографий и перечисляет сотни из них. Вы можете прокручивать по вертикали, чтобы прокручивать их все. Жизнь хороша. Однако у меня теперь есть новое требование. Мне нужно определить, когда пользователь щелкает влево или вправо. Мне нужно уметь перехватывать этот жест, чтобы я мог прикладывать поведение к левым и правым щелчкам, сохраняя возможности вертикальной прокрутки моего коллекции. Есть идеи?iOS Как обнаружить прокрутку влево или вправо на UICollectionView, который иначе прокручивает только по вертикали?

ответ

5

Вам нужны два распознавателей, один для листать влево, а другие для считывания права:

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

и для обработчика:

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

} 

Наконец, добавьте его в вид:

[view addGestureRecognizer:swipeUpGestureRecognizer]; 

То же самое для другого направления (просто измените все левые на права).

0

добавить UISwipeGestureRecognizer к клеткам настройки его направление, как показано ниже,

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