2013-06-27 56 views
27

當我在我的應用中設置多個視圖控制器時,我的應用一直崩潰,如下所示。我的圖像是視圖控制器的數組。uipageviewcontroller類在設置多個視圖控制器時崩潰

該應用程序崩潰說以下錯誤。我不知道從哪裏開始。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The number of view controllers provided (9) doesn't match the number required (1) for the requested transition 

回答

46

由於錯誤說,你是不是需要提供更多的視圖控制器。您應該只在數組中提供1個視圖控制器。然後使用頁面視圖控制器的dataSource方法正確地提供視圖控制器之前和之後。

+0

我想知道哪個瀏覽器我的用戶是在和事件時拖地移動到下一個控制器。爲此我嘗試使用 - (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)完成previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)完成。但是這不會被調用。我已經正確設置了委託和數據源。 –

+0

您可以通過以[[pageViewController viewControllers] objectAtIndex:0]獲取pageViewController的view controller數組屬性來獲取當前視圖控制器實例;在上面的代表中。對於未調用的委託,請檢查您設置dataSource和委託的位置。 – Zen

+0

對不起,我的錯。我編寫了兩次數據源,而不是代碼中的一個數據源和委託。 –

-3

iOS中的UIPageViewController有一些bug。 改爲使用UIViewController的UIScrollView + NSArray! 也許這會有所幫助。 http://weijun.me/post/develop/2015-11-26

+0

我不會說這是越野車,因爲它很難使用,而不是非常可定製的。我只建議在你想要「翻頁」動畫時使用它。如果你想使用正常的滾動頁面滾動視圖和pageControl比UIScrollView更容易使用。 – moger777

相關問題