2014-01-17 186 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