UIPageControl - 单击按钮更改页面

Posted

技术标签:

【中文标题】UIPageControl - 单击按钮更改页面【英文标题】:UIPageControl - Change page on click of button 【发布时间】:2014-01-17 20:30:05 【问题描述】:

我正在使用UIPageControlUISwipeGestureRecognizer 在视图控制器之间切换。使用滑动更改页面。

当在其中一个视图控制器上按下 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;
   

我希望问题很清楚。我尽力说清楚了。

【问题讨论】:

当您说“导航”时,您是指UINavigationControllerUIScrollView 还是其他什么?请更具体一点。 我对帖子进行了编辑。 请发布您的代码。 【参考方案1】:

有点厚脸皮,确实应该重构方法,但是:

假设您在第 0 页(我猜第 1 页上有一个不同的按钮),那么您可以调用您的方法并将 nil 作为参数传递。这个手势实际上并没有被使用,所以一切都应该没问题。

【讨论】:

我应该调用changePage方法吗?如果是这样,我如何从子视图控制器调用它? 调用swipeRightToLeftGesture 方法。在子 VC 中,您可以使用 self.parentViewController 和强制转换来调用该方法。 能否告诉我代码。我在使用 [self.parentViewController swipeRightToLeftGesture]; 时遇到错误。 ` 演员表和参数。 [(YourVC)(self.parentViewController) swipeRightToLeftGesture :nil]; 希望我的括号是对的... 我现在遇到了另一个问题。不会重新加载新视图。按下按钮后,第二个视图应根据参数进行更改。但它是加载时的样子。任何想法为什么?

以上是关于UIPageControl - 单击按钮更改页面的主要内容,如果未能解决你的问题,请参考以下文章

UIPageControl 更改 UIWebView 的 URL

更改 UIPageControl 的当前页面

UIPageControl 指示点在页面更改时不会更改

当前页面的UIPageControl点大小[重复]

UIPageControl 显示不正确的页面

如何用每页不同的颜色更改 UIPageControl 中分页点的颜色