0

Я установил UITapGesture в свой scrollView, но из-за этого я не могу использовать кнопку внутри моего scrollView ... все, что она читает, - это действие жеста для scrollView.Objective C: Gesture Issue

как я могу это исправить?

у меня есть этот код:

UIGestureRecognizer *tapIt = [[ UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; 
    imgTap = (UITapGestureRecognizer *)tapIt; 
    imgTap.numberOfTapsRequired = 1; 
    imgTap.numberOfTouchesRequired = 1; 
    [scrollView addGestureRecognizer:imgTap]; 
+0

Что произойдет, если добавить, что водопроводную распознаватель в contentView вашего Scrollview и не к Scrollview напрямую? Будет ли это работать? – Altealice

ответ

3

Постарайтесь предотвратить касание от достижения кнопки в жест делегата:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ 
if ([touch.view isDescendantOfView:myButton]) { 
    return NO; 
} 

return YES; 

}

+0

не работает. Я попробовал. – SeongHo

+0

Я уверен, что он работает, так как я использовал его. Вы уверены, что назначили себя делегатом для распознавателя жестов? – ale84

+0

спасибо! теперь работает! я забыл назначить делегата! вы спасли меня!! сегодня мой крайний срок! еще раз спасибо! – SeongHo

0

Я считаю, что вы можете установить cancelsTouchesInView свойство на вашем жесте к NO. Также должен быть некоторый способ игнорировать жесты в некоторых частях представления.