2015-02-11 6 views
0

Я использую iCarouselButtonDemo для создания меню кнопки дуги. Я хочу отключить прокрутку, когда пользователь коснется пространства, отличного от кнопок. Но теперь мы можем прокрутить представление, прикоснувшись к каждой точке UIView. Как определить точку касания с точки зрения и отключить скроллинг, когда пользователь потрогать снаружи из 5 кнопокКак определить точку касания iCarouselButtonDemo?

enter image description here

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

Благодаря

ответ

0

В файле реализации iCarousel, необходимо добавить следующий код в gestureRecognizerShouldBegin методом. Так выглядит. Сначала он получает точку касания в представлении iCarousel и находит внутреннее представление, реагирующее на касание через hitTest. Если представление не является кнопкой, вы останавливаете жест панорамы.

if ([gesture isKindOfClass:[UIPanGestureRecognizer class]]) 
{ 
    CGPoint point = [gesture locationInView:self]; 
    UIView *touchedView = [self hitTest:point withEvent:nil]; 

    if (![touchedView isKindOfClass:[UIButton class]]) { 
     return NO; 
    } 
    //ignore vertical swipes 
Смежные вопросы