Khi người dùng ở trên trang đầu tiên của UIPageViewController
và cố gắng quay trở lại, tôi chỉ đơn giản trả lại không. Trong iOS 5, điều này hoạt động tốt. Điều này gây ra sự cố trong iOS 6.Cách đặt trang đầu tiên trong 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'
Đây là mã của tôi. Khi trả lại contentViewController
thay vì nil
, nó hoạt động tốt. Tôi nên đặt gì thay vì 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;
}
Bạn có thể đơn giản trả về 'tự' thay vì' nil' không? Đây là phỏng đoán về phía tôi. –
@JoshuaSmith Tôi đã thử, nhưng tôi vẫn gặp vấn đề tương tự. Cảm ơn mặc dù. –
Trả về 'nil' chính xác là mẫu dự án“ Ứng dụng dựa trên trang ”của Apple xử lý các trang đầu tiên và trang cuối cùng như thế nào. Tôi nghĩ rằng bạn có một số vấn đề khác. Đặt một điểm ngắt ngoại lệ và đăng theo dõi ngăn xếp đầy đủ của ngoại lệ. –