Objective c UIgestureRecognitor-检测触控板一样的轻敲和拖动

Objective c UIgestureRecognitor-检测触控板一样的轻敲和拖动,objective-c,ios,Objective C,Ios,是否有任何方法可以级联UIgestureRecognitors来检测点击然后拖动。 例如,我想检测用户何时轻敲然后拖动手指 这与拖动在轨迹板上的工作原理类似 所以我想检测一个点击,然后我想让UIPanGestureRecognizer给我发送持续更新 我想使用标准的UI手势类来创建这个新手势,而不是使用原始触摸创建自己的手势 这可能吗?虽然我没有找到我期望的解决方案,但我找到了更好的解决方案 只需使用ui长按grsturerecognizer,它就可以实现点击和拖动,这令人惊讶 你必须: 将nu

是否有任何方法可以级联UIgestureRecognitors来检测点击然后拖动。 例如,我想检测用户何时轻敲然后拖动手指

这与拖动在轨迹板上的工作原理类似

所以我想检测一个点击,然后我想让UIPanGestureRecognizer给我发送持续更新

我想使用标准的UI手势类来创建这个新手势,而不是使用原始触摸创建自己的手势


这可能吗?

虽然我没有找到我期望的解决方案,但我找到了更好的解决方案

只需使用
ui长按grsturerecognizer
,它就可以实现点击和拖动,这令人惊讶

你必须:

  • 将numberOfTapsRequired设置为1以检测初始抽头
  • 将最小持续时间设置为更小的值,以便在无需等待的情况下更快地检测拖动
  • e、 g:


    要处理拖动,您必须确定状态,以便作为一个连续的手势适当地处理拖动。

    这非常有效,谢谢!但是有一个问题:默认的
    numberOfTapsRequired
    0对我来说很好——你有什么问题吗?还使用了点击数0和最小按压持续时间0,给了我我想要的拖动行为(夹持器按钮)。如果您想使用轻触板的“拖动锁定”方式,您可能会使用轻触次数1。这会导致触摸按钮的不必要延迟。试试看。如果在添加了鼠标拖动手势的子视图下方有一个按钮,则无法使用此解决方案。在检测到点击后,您不能重新启动UIPangestureRecognitor吗?这种方法介于hipothetical层叠和原始触摸操作之间。首先,设置时间可能很慢,无法初始化以仅检测点击。我还需要能够检测到一个水龙头也只有。我应该说清楚的。
    UILongPressGestureRecognizer *mouseDrag = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleDrag:)];
    mouseDrag.numberOfTapsRequired=1;
    mouseDrag.minimumPressDuration=0.05;
    [clickLeft requireGestureRecognizerToFail:mouseDrag];