2013-08-20 3 views
0

Как я могу сделать так, чтобы при использовании моего UIScrollView селектор распознавания жесты панорамы не вызывается.Горизонтальная прокрутка по UIScrollView без жесты панорамирования

Я хочу, чтобы иметь возможность прокручиваться в режиме прокрутки без вызова селектора жесты.

Вот мой пан обнаружена функция:

- (void)panDetected:(UIPanGestureRecognizer *)panRecognizer 
{ 

    CGPoint translation = [panRecognizer translationInView:self.view]; 
    CGPoint imageViewPosition = self.draggableImage.center; 
    imageViewPosition.x += translation.x; 
    imageViewPosition.y += translation.y; 

    self.draggableImage.center = imageViewPosition; 
    [panRecognizer setTranslation:CGPointZero inView:self.view]; 
} 

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

+0

Так что вы хотите добавить еще один жест в целях прокрутки и отключить вид прокрутки жеста панорамирования иногда, но оставить ваш активным? – Wain

+0

он хочет: «Я хочу иметь возможность прокручивать в режиме прокрутки без вызова селектора жесты панорамы». <- –

+0

Ему, вероятно, придется написать свой собственный код прокрутки, учитывая, что жест панорамы является причиной свитка прокрутки –

ответ

4

вы можете удалить жест распознаватель с точки зрения прокрутки

NSArray* gestureRecognizers = [scrollView gestureRecognizers]; 
for (UIGestureReconizer* recog in gestureRecognizers) { 
    if ([recog isKindOfClass:[UIPanGestureRecognizer Class]]) 
     [recog removeTarget:scrollView.delegate action:@selector(scrollViewDidScroll:)]; 
} 

Я не понимаю, почему это должно было быть сделано, но здесь это.

0

Непонятно, что вы пытаетесь сделать здесь. Я не играл с этим, но вначале я думал, что если вы отключите распознаватель панорамы, ваш прокрутка не будет прокручиваться. В вашем scrollview рассчитывается, где и как прокручиваться, на основе того, что говорит ему распознаватель панорамирования.

Если у вас есть альтернативные установки для обработки прокрутки, а затем всех средства:

UIScrollView *scrollView; 
[[scrollView panGestureRecognizer] setEnabled:NO]; 
Смежные вопросы