當用戶在UIPageViewController
的第一頁上並試圖返回時,我只返回nil。在iOS 5中,這工作正常。它導致iOS 6崩潰。如何在UIPageViewController中設置第一頁
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The number of view controllers provided (0) doesn't match the number required (1) for the requested transition'
這是我的代碼。當返回contentViewController
而不是nil
時,它工作正常。我應該放什麼而不是nil
?
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
viewControllerBeforeViewController:(UIViewController *)viewController {
contentViewController = [[ContentViewController_iPhone alloc] init];
int currentIndex = [self.modelArray indexOfObject:[(ContentViewController_iPhone *)viewController labelContents]];
if ((currentIndex == 0) || (currentIndex == NSNotFound)) {
//if on the first page, can't go back
return nil;
}
contentViewController.labelContents = [self.modelArray objectAtIndex:currentIndex - 1];
return contentViewController;
}
你能簡單地返回'self'而不是'nil'嗎?這是我的猜想。 –
@JoshuaSmith我試過了,但我仍然有同樣的問題。不過謝謝。 –
返回'nil'就是Apple的「基於頁面的應用程序」項目模板如何處理第一頁和最後一頁。我認爲你還有其他問題。設置異常斷點併發布異常的完整堆棧軌道。 –