在UIPageViewController上设置页面

时间:2014-10-29 22:31:41

标签: ios iphone uipageviewcontroller

我正在使用Xcode 6.1的PageViewController模板。我的应用程序中有一个按钮,应该将用户带回第一页,但我不确定如何使其工作。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您需要使用UIPageViewController的{​​{1}}方法。令人尴尬的是如何让你的按钮触发该方法。我假设您有一个主视图控制器,它为每个页面创建VC,创建并呈现UIPageViewController,并充当其dataSource,在setViewControllers:direction:animated:completion:viewControllersBefore...方法中提供正确的VC。我将遵循的路线如下:

  1. 在页面的VC(或至少带有按钮的VC)中,使用一种方法(让我们称之为viewControllersAfter...)声明一个协议,该方法将用于触发返回第一页

    returnToFirstPage
  2. 还声明一个名为@protocol PageSelection -(void)returnToFirstPage; @end 的属性,该属性实现此协议

    delegate
  3. 为按钮指定一个目标/操作,然后调用委托方法:

    @property (weak, nonatomic) id <PageSelection> delegate;
    
  4. 在主视图控制器中,创建页面视图控制器的实例后,将委托设置为self。

    -(IBAction)buttonPressed:(UIBUtton *)sender {
        [self.delegate returnToFirstPage];
    }
    
  5. 在主视图控制器中,实现委托方法,以处理页面更改:

    page1ViewController.delegate = self; // etc etc for other pages
    
  6. 我假设您一次只显示一个页面。如果您使用Swift,请道歉,但我希望您能获得要点。