2016-02-18 3 views
6

Я добавил swrevealcontroller в моем app.On щелчке элемента в таблице он открывает новый вид controller.I добавил PageControl в этой точке зрения controller.So первый раз панорамирование жеста PageControl работает, но на следующем жест жесткой паузы не работает для управления страницей. Пожалуйста, расскажите мне, как я могу избежать столкновения жесты.Pagecontrol жест конфликта с swrevealcontroller?

- (void)_handleRevealGesture:(UIPanGestureRecognizer *)recognizer 
{ 
    NSLog(@"handle pan gesture"); 
    CGPoint velocity = [recognizer velocityInView:self.view]; if(velocity.x > 0) 
    { 
     NSLog(@"gesture went right"); 
    } 
    else 
    { 
     NSLog(@"gesture went left"); 
     if(self.isReaveled) 
     { 
      switch (recognizer.state) 
      { 


       case UIGestureRecognizerStateBegan: 
        [self _handleRevealGestureStateBeganWithRecognizer:recognizer]; 
        break; 

       case UIGestureRecognizerStateChanged: 
        [self _handleRevealGestureStateChangedWithRecognizer:recognizer]; 
        break; 

       case UIGestureRecognizerStateEnded: 
        [self _handleRevealGestureStateEndedWithRecognizer:recognizer]; 
        break; 

       case UIGestureRecognizerStateCancelled: 
        //case UIGestureRecognizerStateFailed: 
        [self _handleRevealGestureStateCancelledWithRecognizer:recognizer]; 
        break; 

       default: 
        break; 
      } 

     } 
    } 


} 

Я изменил приведенный выше код, чтобы работать, но он не работает.

+0

на самом деле вы были добавлены swl в self.view правильно, ваш жест жевания также добавил к self.view, что причина конфликта –

+0

так что же такое решение? Как я могу избежать конфликта? @Anbu.Karthik – TechGuy

+0

, который вам нужен в основном ... swl или swipe –

ответ

0

Вы впервые установили делегат жесты панорамирования swrevealcontroller в поле зрения контроллера, где вы используете pagecontroller. для этого также добавить делегата gesturerecogniser.

чем реализовать этот метод делегата GestureRecongnizer.

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 

    if (otherGestureRecognizer.delegate == self) 
     return NO; 

    if ([[otherGestureRecognizer.view class] isSubclassOfClass:[UIPageViewController class]]) { 
     NSLog(@"Allow1 %@", [otherGestureRecognizer description]); 
     return YES; 
    } 

    NSLog(@"Deny %@", [otherGestureRecognizer description]); 
    return NO; 
} 

Надеюсь, это поможет вам.

Смежные вопросы