2012-05-15 5 views
0

UIPageController를 사용하여 페이지 기반 탐색 응용 프로그램을 구현하고 있습니다. 스 와이프 동작을 페이지의 여백에서만 사용하고 내부 내용보기에서 해당 동작을 방지하려고합니다. 그렇지 않으면하지, 당신이 인 경우가 locationInView 다음 허용 값이 계속 검색 할 수 있어야 제스처를 인식하면UIPageController 및 제스처 인식기

contentView.frame = CGRectInset(self.view.frame, 20, 20); 

답변

1

:이 페이지에는 20 픽셀의 여백이 있습니다.

0

먼저 클래스 인터페이스에 추가하십시오.

@interface MyPageViewController :UIViewController<UIPageViewControllerDelegate, UIGestureRecognizerDelegate> 

다음의 viewDidLoad에

for (UIGestureRecognizer *recognizer in self.pageViewController.gestureRecognizers) { 

     recognizer.delegate = self; 

} 

그런 다음 shouldReceiveTouch 방법을 구현 추가

#pragma mark - UIGestureRecognizer delegate methods 
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ 


    CGPoint touchPoint = [touch locationInView:self.pageViewController.view]; 

    CGRect innerRect = CGRectInset(self.pageViewController.view.frame, 40, 40); 

    if (CGRectContainsPoint(innerRect, touchPoint)) { 
     return NO; 
    } 

    return YES; 
} 
관련 문제