0

Я хочу включить прокрутку UIScrollView только тогда, когда я прокручиваю границы экрана. Я использую распознаватель жестов.Включить прокрутку UIScrollView для конкретного CGPoint в UISwipeGestureRecognizer

вот мой код

-(void)swipeHandlerLeft:(UISwipeGestureRecognizer *)swipeRecognizer 
{ 
    CGRect screenRect = [[UIScreen mainScreen] bounds]; 
    CGFloat screenWidth = screenRect.size.width; 

    point = [swipeRecognizer locationInView:self.view]; 

    if(swipeRecognizer.direction == UISwipeGestureRecognizerDirectionLeft) 
    { 
     if (point.x > screenWidth - 10) 
     { 
      NSLog(@"Swipped Left"); 
      _scrollView.scrollEnabled = YES; 
     } 
     else 
     { 
      _scrollView.scrollEnabled = NO; 
     } 
    } 

} 

-(void)swipeHandlerRight:(UISwipeGestureRecognizer *)swipeRecognizer 
{ 
    CGRect screenRect = [[UIScreen mainScreen] bounds]; 
    CGFloat screenWidth = screenRect.size.width; 

    point = [swipeRecognizer locationInView:self.view]; 

    if(swipeRecognizer.direction == UISwipeGestureRecognizerDirectionRight) 
    { 
     if (point.x < 10) 
     { 
      NSLog(@"Swipped Right"); 
      _scrollView.scrollEnabled = YES; 
     } 
     else 
     { 
      _scrollView.scrollEnabled = NO; 
     } 
    }  
} 

Проблема с выше кодом работает, пока Scrollview не не включен, но как только он включен эти методы не вызывались и я думаю, что причина этого является, как я» ve добавил scrollview внутри моего UIView.

любая помощь будет оценена по достоинству.

ответ

0

UIScrollView уже имеет UIGestureRecognizer. Я думаю, вам нужно будет подключить ваш код к этим gesureRecognizers. Вы можете получить к ним доступ по myScrollView.panGestureRecognizer и myScrollView.pinchGestureRecognizer.

+0

Извините, что беспокою вас, но не могли бы вы продемонстрировать свою идею с помощью небольшого демонстрационного кода .. – Vaibhav

0

Ваш прокрутка просматривает ваше прикосновение перед вашим прокруткой, и я полагаю, что распознаватель жестов распознает вид прокрутки.

Вы должны создать зависимость, вызвав requireGestureRecognizerToFail(_:) на свой распознаватель жестов scrollView, и передав ваш жест жестов.