2012-05-21 2 views
0

У меня есть UIPageViewController, и каждая страница содержит несколько UIView на странице, каждый UIView позволяет жест жесткости после жест longPress, я использую следующий делегат в contentVC, но он выглядит как pageVC меня не волнует мое ограничение ниже, и оно продолжает переворачивать страницу! мне нужно что-то сделать, чтобы отключить поворот страницы во время панорамирования? (Последнее средство будет установка переменного на PageVC как canTurn, и установить его на NO в то время как панорамирование в действии ....отключить распознаватель жестов UIPageViewController во время передачи жестов longPressed

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

    if ([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]] && 
     [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) { 
     return YES; 
    } 
    return NO; 
} 

ответ

1

Вы должны добавить метод -gestureRecognizer:shouldReceiveTouch: в PageVC себя, или если вы не Wanna добавить его в самом PageVC вы могли позволить делегатом справиться

нравится:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{ 
    if(someCase) 
    { 
     return yes; 
    } 

    return no; 
} 

или

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{ 
    return [delegate shouldHandle:.....]; 
} 
+0

Какой PageVC? Подкласс объекта PageViewController? –

+0

Да подкласс UIPageViewController –

+2

Это никогда не называется. Должен ли я сначала задать делегат gestureRecoqnizer? –

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