【发布时间】:2012-09-24 08:27:47
【问题描述】:
这仅在 ios6 上开始发生,但如果您使用页面视图控制器模板开始一个新项目。然后在
PCRootViewControlle::viewDidLoad()
将行添加到方法的底部。
for (UIGestureRecognizer *gR in self.pageViewController.gestureRecognizers)
{
gR.delegate = self;
}
您需要分配 viewController 使其符合 UIGestureRecognizerDelegate 并实现该方法
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch (UITouch *)touch
{
return YES;
}
现在,如果您运行应用程序并尝试将页面翻到边界之外,即转到 1 月并尝试返回,那么
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
返回零。
然后应用程序将崩溃。
这在 ios5 中没有发生。我需要将gestureRecognizer 委托分配给我的viewController,因为我并不总是希望pageViewController 处理触摸事件。
有没有其他人经历过或指出我做错了什么?
非常感谢 斯图尔特。
【问题讨论】:
-
错误日志...由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“提供的视图控制器的数量 (0) 与请求的转换所需的数量 (2) 不匹配'
-
我遇到了同样的问题,在这里写下了我的解决方案。 stackoverflow.com/questions/12565400/…
-
我在这里发布了同样问题的答案:stackoverflow.com/a/12573631/1655630
-
在下面查看我的答案,它避免了同一页的无限翻页
标签: objective-c ios xcode ios6