我正在使用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中当前没有数据显示时,处理这种情况的正确方法是什么?构建一个虚拟页面内容视图控制器并将其交给页面视图控制器,只是为了显示它?
答案 0 :(得分:3)
@matt是正确的:问题是初始页面控制器没有设置,导致崩溃。创建一个虚拟视图控制器就可以了:
[self.storyboard instantiateViewControllerWithIdentifier:@"NoPhotosViewController"];
答案 1 :(得分:0)
如果您的滚动样式是UIPageViewControllerTransitionStyleScroll,那么this您的答案。