0

我使用 xcode 附带的基于页面的应用程序示例来构建我的应用程序。页面视图控制器工作正常,但是,我有这样的问题:

在代表页面数据的每个视图控制器中,我都有一些按钮,单击它会导致另一个视图控制器的视图。我使用它来添加视图以查看层次结构:

[self.view addSubview: self.articleViewController.view];

articleViewController里面只有一个滚动视图并显示一些文本数据。问题是,如果我滑动视图以向上/向下滚动,当它到达结束页面时,视图控制器会采用此手势并移动到上一页/下一页,这不是我想要的。我希望articleViewController不接收来自页面视图控制器的手势,而只接收滚动本身。

希望我描述得足够好..

如何禁用我的手势articleViewController?我试图研究这篇文章:UIPageViewController Gesture Recognizers但还没有想出解决我的问题。

一个说明问题的示例项目:https ://dl.dropbox.com/u/43017476/PageTest.zip

4

1 回答 1

0

我知道你引用了同样的问题,但我不喜欢接受的答案。看看这个答案,它在同一篇文章的后面有点远。我遇到了同样的问题,并将该答案中的代码块添加到我的 UIPageViewController 中的 viewDidLoad 的末尾解决了我遇到的问题。

基本上发生的事情是 UIPageViewController 正在消耗所有的触摸事件,因此您需要从 UIPageViewController 中删除某些 UIGestureRecognizers 以便它不会响应这些事件。它可能比我发布的示例要复杂一些,因为它只是删除了 UITapGestureRecognizer,但它是相同的基本概念。您需要确保 UIPageViewController 仅以向右->向左滑动手势前进到下一页,而不是向上->向下滑动手势。

查看UISwipeGestureRecognizerDirection 文档

于 2013-03-26T18:21:19.757 回答