- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有长按手势识别器的 View 。
在我的应用程序中,我必须临时在其上放置另一个 View ,但底层 View 所在的区域是透明的,因此用户仍然可以看到下面的 View 。
我在新的顶 View 中添加了一个 UILongPressGestureRecognizer。当用户长按他们可以看到的 View (位于顶 View 下方)时,我会在顶 View 中识别它。我取消它(使用 g.enabled = NO;
),然后关闭我的顶 View 。
现在,我想让用户长按的 View 触发其手势识别器。有办法吗?
更新:
根据 @matt 在评论中的建议,我从顶部 View 中删除了手势识别器 - 这给了我更多的洞察力和控制力 - 但我还没有做到这一点。
我已经尝试过使用 hitTest:withEvent:
来忽略透明区域中的事件,但到目前为止我还没有让它发挥作用(让事件在底层 View 中启动手势) .
现在我正在尝试通过让我的顶 View 将它们直接发送到其 View Controller 来重新路由touchesBegan:withEvent:
,以查看是否会从那里进一步传播,但我还没有让它发挥作用。
我仍在调试以确定触摸是否被发送到底部 View - 我不确定这是否最终会启动识别器,这是我的目标。
最佳答案
如果顶 View 只是一个 View ,那么根本不向其添加手势识别器可能会更容易。您可以将手势识别器附加到它后面的 View 。手势识别器自动向上操作 View 层次结构,因此附加到后面 View 的手势识别器将响应顶 View 上的长按。
如果顶层 View 属于一个自定义的包含 View Controller ,而它后面的 View 属于父 View Controller ,则包含 View Controller 有一个对父 View Controller 的引用作为它的parentViewController
。因此,您在顶 View 中的手势识别器处理程序可以向 parentViewController
发送消息,然后它可以执行它在自己的手势识别器处理程序中可以执行的任何操作。
关于ios - 我可以取消 UILongPressGestureRecognizer,关闭 View 并长按以识别下面的 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28204212/
在我的应用程序中,我希望 UILongPressGestureRecognizer 每秒发送连续的消息,直到释放按钮。不幸的是,没有像“连续”这样的状态,所以我需要使用“开始”和“结束”来控制我的消息
我正在尝试创建一个应用程序,当触发 UILongPressGestureRecognizer 手势时,可以拖放 UIButtons。 我有: UIGestureRecognizer *longPres
我正在开发一个应用程序,其中我在 View 上应用 UILongPressGesture 识别器,并实现了为事件(发生时长按手势)实现的代码。 处理手势的代码写在一个方法中,当我尝试长按不需要的 Vi
我尝试在我的应用程序中使用 UILongPressGestureRecognizer,问题是该函数仅在我稍微移动手指时调用。 这是我正在使用的代码: UILongPressGestureRec
我在 UIImageView 中添加了 4 个手势识别器,单击、双击和 pin 手势工作正常。但是,长按手势不起作用。这是为什么? _imageView.userInteraction
我想让一个 UI 按钮只有在按住超过设定的秒数时才会响应。所以我这样使用了 UILongPressGestureRecognizer: import UIKit class ViewControlle
我有一个问题,当长按时,快速移动手指,并且在回调函数中我无法检测到手指已经在某个区域,如果你移动手指足够快的话。这是我的猜测:回调函数有一个最大频率,有人知道它的确切数量吗? 最佳答案 也许更好用 t
当用户将手指按在屏幕上时,我想执行一个连续的 Action 。这目前工作正常。但是当用户将第二根手指按在屏幕上时,我希望 UILongPressGestureRecognizer 取消/结束第一次按下
我已将 UILongPressGestureRecognizer 添加到 UITextField 中。当我按下 UITextField 时,它会向我显示警报,但这是三个警报向我显示。这是我的代码: -
我在 viewDidLoad 中有这段代码: UILongPressGestureRecognizer *change = [[UILongPressGestureRecognizer alloc]
我正在尝试创建一个应用程序,其中可以在触发 UILongPressGestureRecognizer 手势时拖放 UIButton。实际上,我的应用程序在任何 iPad 上都运行良好。它仅在 iPho
我已将 UILongPressGestureRecognizer 连接到 View 上的 Button。我在 Interface Builder 的 Referencing Outlet Collec
这适用于 iOS 11 上的设备,但随着我的设备更新到 iOS 12,它不再适用: //the viewcontroller is initiated with UIGestureRecognizer
我正在尝试制作一个功能,当用户按住手指时,图像会在发生过渡时变大,直到达到一定大小。我知道如何使图像变大,但不知道如何使其仅在用户按住时才变大。 有谁知道如何做到这一点?是否需要 LongPressR
我想让屏幕的右侧使节点跳转,左边的前半部分向左移动,后半部分向右移动。 一些不合适的东西: 当我快速左、右、左、右多次点击时(它会停止并且不会移动节点) 当我点击屏幕右侧并点击左侧或右侧部分时,并非每
我目前有一个使用生成按钮列表的 SimpleAlert 制作的操作表。这些按钮可识别轻击和长按。在长按时,我试图通过选择器将按钮作为发件人传递,以便访问另一个函数中的按钮标签,但是它一直给我这个错误:
我以这种方式在 UIImageView 上使用 UILongPressGestureRecogniser: UILongPressGestureRecognizer *longPress = [[UI
我正在尝试了解手势识别器的工作原理,并尝试让手势识别器告诉我长触摸何时开始以及何时结束,即使触摸没有移动也是如此。 在 viewDidLoad 中,我添加了一个名为 game 的 subview 。在
我想检测 UIWebView 的 UILongPressGestureRecognizer 点击并按住 .. 这样当我长按将近 3 秒时,下面的 if 条件应该是 True 那么只有 if (navi
我用 UILongPressGestureRecognizer 为 UIImageView 设置了动画,如下所示: override func viewDidAppear(animated: Bool
我是一名优秀的程序员,十分优秀!