xcode - pageviewcontroller 覆盖gestureRecognizers
Posted
技术标签:
【中文标题】xcode - pageviewcontroller 覆盖gestureRecognizers【英文标题】:xcode - pageviewcontroller override gestureRecognizers 【发布时间】:2013-02-28 18:10:46 【问题描述】:我使用 xcode 附带的基于页面的应用程序示例来构建我的应用程序。页面视图控制器工作正常,但是,我有这样的问题:
在代表页面数据的每个视图控制器中,我都有一些按钮,单击它会导致另一个视图控制器的视图。我使用它来添加视图以查看层次结构:
[self.view addSubview: self.articleViewController.view];
articleViewController
里面只有一个滚动视图并显示一些文本数据。问题是,如果我滑动视图以向上/向下滚动,当它到达结束页面时,视图控制器会采用此手势并移动到上一页/下一页,这不是我想要的。我希望articleViewController
不接收来自页面视图控制器的手势,而只接收自身滚动。
希望我描述得足够好..
如何在articleViewController
中禁用手势?我试图研究这篇文章:UIPageViewController Gesture recognizers,但还没有想出解决我的问题。
说明问题的示例项目:https://dl.dropbox.com/u/43017476/PageTest.zip
【问题讨论】:
【参考方案1】:我知道你引用了同样的问题,但我不喜欢接受的答案。查看this answer,它位于同一篇文章的下方。我遇到了同样的问题,并将该答案中的代码块添加到我的 UIPageViewController 中的 viewDidLoad 的末尾修复了我遇到的问题。
基本上发生的事情是 UIPageViewController 正在消耗所有的触摸事件,因此您需要从 UIPageViewController 中删除某些 UIGestureRecognizers 以便它不会响应这些事件。它可能比我发布的示例要复杂一些,因为它只是删除了 UITapGestureRecognizer,但它是相同的基本概念。您需要确保 UIPageViewController 仅以右->左滑动手势前进到下一页,而不是向上->向下滑动手势。
查看UISwipeGestureRecognizerDirection documentation。
【讨论】:
以上是关于xcode - pageviewcontroller 覆盖gestureRecognizers的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Xcode 9 中使用 Xcode 服务器?我们是不是需要始终打开 Xcode 9?