如何显示没有数据的UIPageViewController?

时间:2015-04-19 23:58:20

标签: ios uipageviewcontroller

我正在使用UIPageViewController来浏览照片库中的照片。它在照片存在时有效,但如果手机上没有照片则会崩溃。错误:

2015-04-19 16:27:05.305 MyApp[2566:1278254] *** Assertion failure in -[MyPageViewController queuingScrollView:didBailoutOfScrollAndRevealedView:], /SourceCache/UIKit/UIKit-3347.44/UIPageViewController.m:1903
2015-04-19 16:27:05.308 MyApp[2566:1278254] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'No view controller managing visible view (null)'

当没有照片存在时,数据源委托方法确实返回nil,所以我认为页面视图控制器不会显示任何内容。显然,这是不正确的。

当UIPageViewController中当前没有数据显示时,处理这种情况的正确方法是什么?构建一个虚拟页面内容视图控制器并将其交给页面视图控制器,只是为了显示它?

2 个答案:

答案 0 :(得分:3)

@matt是正确的:问题是初始页面控制器没有设置,导致崩溃。创建一个虚拟视图控制器就可以了:

[self.storyboard instantiateViewControllerWithIdentifier:@"NoPhotosViewController"];

答案 1 :(得分:0)

如果您的滚动样式是UIPageViewControllerTransitionStyleScroll,那么this您的答案。