ios 滑动手势在子视图上未被识别,父视图上的手势

Posted

技术标签:

【中文标题】ios 滑动手势在子视图上未被识别,父视图上的手势【英文标题】:ios swipe gesture not being recognized on subview with gesture on parent view 【发布时间】:2013-11-26 01:56:03 【问题描述】:

我有一个表格视图,其中包含许多单元格,每个单元格中都有一个图像。我在 tabelview 上设置了一个向右滑动的手势。每个图像视图都会覆盖 touches* 方法。我注意到,如果我在图像之外向右滑动,父视图会响应。如果我在单元格中的图像视图上滑动,父级没有响应。

滑动手势是否被子图像子视图中的 touches* 覆盖阻止?

【问题讨论】:

【参考方案1】:

您可以将UIswipeguesture 添加到您的图像子视图中。所以你不需要覆盖任何触摸功能

Uiswipeguesture gues=uiswipeguestu
Imageview addguesture: gues;

【讨论】:

我有两个问题:1)触摸功能*覆盖手势吗?和 2) 为什么父视图上的滑动手势不适用于技术上属于子视图的子视图? 1) 我认为 touch 和 guesturerecognizer 是不同的工具。如果你使用触摸功能,你有没有调用 super 来链接责任?它在许多情况下都很复杂。 2)当错误的触摸功能可能会覆盖它们的机会时,子视图不会固有滑动访客。仅使用访客识别器比将它们混合在一起更简单。

以上是关于ios 滑动手势在子视图上未被识别,父视图上的手势的主要内容,如果未能解决你的问题,请参考以下文章

UITableView滑动删除iOS上的手势冲突

iOS Swift - 使点击手势识别器在视图下工作

iOS - 使用/传递手势识别器用于视图中的多个表视图或集合视图(Swift)

识别 UIView 中的滑动手势以使用手势识别器滚动滚动视图

如何在 iOS 设备上的滑动手势期间“捕捉”子视图?

iOS - 在视图(Swift)中为多个Tableview或Collectionviews使用/传递手势识别器