2012-05-21 9 views
0

UIPageViewController가 있고 각 페이지에 페이지에 여러 UIView가 포함되어 있습니다. 각 UIView는 longPress 제스처 후에 팬 동작을 허용하지만 contentVC에서 다음 위임을 사용하지만 pageVC 아래 내 제한에 상관하지 않으며 그것은 페이지를 뒤집어 계속! 나는 패닝을하는 동안 페이지 선회를 비활성화하기 위해 무엇을해야합니까? (마지막 리조트는longPressed 제스처를 전달할 때 UIPageViewController 제스처 인식기를 사용하지 않습니다.

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

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

답변

1

당신은 PageVC 자체를 -gestureRecognizer:shouldReceiveTouch: 방법을 추가하거나해야 있습니다 .... canTurn 같은 PageVC에서 변수를 설정, 그리고 패닝 행동에있는 동안 NO로 설정합니다 당신이 싶지 해달라고 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 대리자를 설정해야합니까? –

관련 문제