How to pass a #39;tap#39; to UIButton that is underneath UIView with UISwipeGestureRecognizer?(如何使用 UISwipeGestureRecognizer 将“点击传递给 UIView 下方的 UIButton?)
问题描述
我在(透明)UIView 下方有一个 UIButton.上面的 UIView 添加了一个 UISwipeGestureRecognizer ,这是它的唯一目的 - 检测某些滑动手势.我希望该 UIView 忽略所有其他触摸,并将其传递给其他视图(例如下面的 UIButton).目前,上面的 UIView 似乎正在检测点击(例如),什么都不做(应该是),并且不让下面的 UIButton 有机会响应.
I have a UIButton underneath a (transparent) UIView. The UIView above has a UISwipeGestureRecognizer added to it, and that is its only purpose - to detect certain swipe gestures. I want all other touches to be ignored by that UIView, and passed to other views (such as my UIButton underneath). Currently, the UIView above seems to be detecting the tap (for example), doing nothing (as it should be), and not letting the UIButton underneath get a chance to respond.
如果可能,我宁愿不实现自己的滑动识别器.任何解决方案/建议?我基本上只是想知道如何告诉 UIView 只关注某种类型的添加手势识别器,而忽略(从而让视图通过)所有其他触摸.
I would prefer not to implement my own swipe recognizer, if possible. Any solutions / advice? I basically just want to know how to tell a UIView to pay attention to only a certain type of added gesture recognizer, and ignore (and thus let through to views behind) all other touches.
推荐答案
我昨天一定是很生气——我今天醒来时发现了一个简单的解决方案.将 UISwipeGesture 添加到作为 UIView 和 UIButton 的超级视图的视图中.然后,在处理这些滑动时,找出滑动的来源,以及该点是否在我曾经拥有 UIView 的框架中.(正如我提到的,UIView 存在的唯一原因是为这些滑动手势定义一个目标区域.)
I must have just been in a funk yesterday - I woke up with a simple solution today. Add the UISwipeGesture to a view which is a superview to both the UIView and the UIButton. Then, when processing those swipes, figure out where the swipe originated, and whether that point is in the frame of where I used to have the UIView. (As I mentioned, the only reason for the existence of the UIView was to define a target area for these swipe gestures.)
这篇关于如何使用 UISwipeGestureRecognizer 将“点击"传递给 UIView 下方的 UIButton?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用 UISwipeGestureRecognizer 将“点击"传递给 UIView 下方的 UIButton?
基础教程推荐
- iOS4 创建后台定时器 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
