2014-01-17 3 views
1

UIPageControl과 함께 UISwipeGestureRecognizer을 사용하여보기 컨트롤러를 전환합니다. 페이지는 스 와이프를 사용하여 변경됩니다.UIPageControl - 버튼 클릭시 페이지 변경

또한보기 컨트롤러 중 하나에서 UIButton을 누르면 페이지를 변경해야합니다. 여기

은 슬쩍의 의견을 변경하는 데 사용되는 방법입니다

- (void)swipeRightToLeftGesture:(UIGestureRecognizer *)gestureRecognizer { 
    if (self.pageControl.currentPage == 0) { 
     [UIView animateWithDuration:1 
       animations:^{ 

        for (UIViewController *vc in self.childViewControllers) { 
         CGRect frame = vc.view.frame; 
         frame.origin.x -= self.view.frame.size.height; 
         vc.view.frame = frame; 
       } 
     }]; 
     self.pageControl.currentPage = 1; 
    } 
} 

나는 질문은 분명하다 바랍니다. 나는 그것을 명확하게하기 위해 최선을 다했습니다.

+0

"네비게이션"이라고 말하면 'UINavigationController'또는 'UIScrollView'또는 다른 것을 의미합니까? 제발 좀 더 구체적으로 말하십시오. – hgwhittle

+0

게시물을 수정했습니다. – Dinesh

+0

코드를 게시하십시오. – hgwhittle

답변

1

정말 당신이 방법을 리팩토링한다, 약간 건방진하지만 :

이 페이지 제로 (내가 1 페이지의 다른 버튼이 추측)에있는 가정, 당신은 당신의 방법과 패스를 호출 할 수 있습니다 nil을 매개 변수로 사용하십시오. 제스처는 실제로 사용되지 않으므로 모든 것이 잘되어야합니다.

+0

changePage 메서드를 호출해야합니까? 그렇다면 하위 뷰 컨트롤러에서 어떻게 호출 할 수 있습니까? – Dinesh

+1

'swipeRightToLeftGesture' 메소드를 호출하십시오. 자식 VC에서'self.parentViewController'와 캐스트를 사용하여 메소드를 호출 할 수 있습니다. – Wain

+0

코드를 알려주세요. '[self.parentViewController swipeRightToLeftGesture];를 사용하는 중 오류가 발생했습니다. ' – Dinesh

관련 문제