xcode - pageviewcontroller覆盖gestureRecognizers

时间:2013-02-28 18:10:47

标签: ios xcode cocoa-touch uigesturerecognizer uipageviewcontroller

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

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

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

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

希望我描述得足够好......

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

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

1 个答案:

答案 0 :(得分:0)

我知道你引用了同样的问题,但我不喜欢接受的答案。查看this answer,这是同一篇文章的下方。我遇到了同样的问题,并在我的UIPageViewController的viewDidLoad末尾添加了代码块,修复了我遇到的问题。

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

查看UISwipeGestureRecognizerDirection documentation