Gdy użytkownik znajduje się na pierwszej stronie UIPageViewController
i próbuje wrócić, po prostu zwracam zero. W iOS 5 działa to dobrze. Powoduje to awarię w systemie iOS 6.Jak ustawić pierwszą stronę w 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'
Oto mój kod. Po powrocie contentViewController
zamiast nil
, działa poprawnie. Co powinienem wstawić zamiast 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;
}
Czy możesz po prostu zwrócić 'self' zamiast' nil'? Jest to przypuszczenie z mojej strony. –
@JoshuaSmith Próbowałem, ale nadal mam ten sam problem. W każdym razie dzięki. –
Zwrócenie 'nil' jest dokładnie tym, jak szablon projektu" Szablon aplikacji "firmy Apple obsługuje pierwszą i ostatnią stronę. Myślę, że masz inny problem. Ustaw punkt przerwania wyjątku i opublikuj pełną ścieżkę stosu wyjątku. –