UIPageViewController:添加多个视图控制器时应用程序崩溃

时间:2014-02-24 19:55:25

标签: ios iphone objective-c uistoryboard uipageviewcontroller

我正在尝试为我的应用制作教程屏幕。我正在使用UIPageViewController。但是当我添加两个ViewControllers时,我的应用程序崩溃了。这是我的代码:

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {

    //This is not final. Just for demo
    return _secondPage;
}

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
    //This is not final. Just for demo
    return _firstPage;
}

- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController
{
    return [self.pageControllers count];
}

- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController
{
    return 0;
}

@end

当我调试App时,它崩溃了这行代码:

 [self.pageViewController setViewControllers:_pages direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:nil];

1 个答案:

答案 0 :(得分:0)

如果您将错误或不存在的ID传递给instantiateViewControllerWithIdentifier:方法,您将收到异常,您的应用将终止。很可能这就是正在发生的事情。

该ID位于Identity Inspector的{​​{1}}标签下。它被称为Interface Builder。您可以为其指定任何您想要的唯一名称。最重要的是在实例化视图控制器时使用此Storyboard ID。否则你的代码会出现异常。