2014-10-29 72 views
1

我正在使用Xcode 6.1的PageViewController模板。我的應用程序中有一個按鈕,該按鈕可以讓用戶返回到第一頁,但我不確定如何使其工作。任何幫助將不勝感激。設置UIPageViewController頁面

回答

0

您需要使用UIPageViewControllersetViewControllers:direction:animated:completion:方法。尷尬的一點是如何讓你的按鈕觸發該方法。我假設你有一個主視圖控制器,爲每個頁面創建VC,創建並呈現UIPageViewController,並充當它的數據源,在viewControllersBefore...viewControllersAfter...方法中提供正確的VC。我將遵循路線如下:

  1. 在VCS中的頁面(或至少一個與按鈕),聲明一個協議與將用於一種方法(讓我們稱之爲returnToFirstPage)觸發返回到第一頁。

    @protocol PageSelection 
    -(void)returnToFirstPage; 
    @end 
    
  2. 另外聲明一個稱爲delegate屬性實現該協議

    @property (weak, nonatomic) id <PageSelection> delegate; 
    
  3. 給該按鈕的目標/動作的方法,其然後調用委託方法:

    -(IBAction)buttonPressed:(UIBUtton *)sender { 
        [self.delegate returnToFirstPage]; 
    } 
    
  4. 在您的主視圖控制器中,在創建頁面視圖控制器的實例後,將該委託設置爲self。

    page1ViewController.delegate = self; // etc etc for other pages 
    
  5. 在您的主視圖控制器,實現委託方法,來處理頁面的變化:

    -(void)returnToFirstPage { 
        [self.pageViewController setViewControllers:@[page1ViewController] direction:UIPageViewControllerDirectionBackward animated:YES completion:nil]; 
    } 
    

我以爲你只是一次顯示一個頁面。如果你使用Swift,我很抱歉,但是我希望你能明白。