如何在iOS中将触摸传递给手势识别器?
Posted
技术标签:
【中文标题】如何在iOS中将触摸传递给手势识别器?【英文标题】:How to pass touch to gesture recognizer in iOS? 【发布时间】:2013-01-23 08:27:55 【问题描述】:我有一个 UIView ViewA,我们将它添加到一个 scrollView ViewB。 ViewA 有其他子视图(其中之一是 ViewC)。现在,我们在 ViewA 上有了触摸方法(开始、结束等)。 ViewC 有一个点击识别器。我如何通过触摸?
现在,ViewA 中的 touches 方法正在被击中。手势识别器不工作。
任何人都可以提出任何建议吗?
谢谢。 阿山
【问题讨论】:
【参考方案1】:我会建议您使用适合您想要做的事情的 UIGestureRecognizer,而不是直接实现触摸方法。根据 Apple 文档,您不应该再使用触摸方法。
如果您想将手势从一个视图传递到另一个视图,为什么不在第二个视图的 .h 文件中声明一个方法,并在触发手势时从第一个视图调用它?
如果 viewB 是 viewA 的子视图会更简单,因为您将在 viewA 中引用 vewB。
希望对您有所帮助!
【讨论】:
【参考方案2】:您可以使一个 UIGestureRecognizer (A) 依赖于另一个 (B) - 这样一来,如果第二个失败,一个就无法工作。
在您的情况下,您可以将 UIGestureRecognizer (A) 添加到顶视图,并将另一个 (B) 添加到其下方的视图,这需要识别其他一些用户交互。底部视图中的一个 (B) 无法在另一个 (A) 出现故障的情况下开始工作。
要了解更多可能适合您需求的 UIGestureRecognizer 行为,您可以阅读有关 requireGestureRecognizerToFail
here 的信息,并熟悉一下超级有用的类。
【讨论】:
以上是关于如何在iOS中将触摸传递给手势识别器?的主要内容,如果未能解决你的问题,请参考以下文章