objective-c - 如何在平移/拖动事件后检测保持(UIGestureRecognizer/iOS)

标签 objective-c ios

只是想知道您是否有任何提示可以识别首先是拖动(平移)手势,然后如果用户一直按住他们的手指,则另一个“按住”事件?

所以我想要的效果是常规平移事件会执行它的操作,然后当移动完成时,如果用户握住他们的手指,在短暂的延迟后,另一个事件会发生。 这个事件应该持续触发,直到手指被抬起。希望这是有道理的。

我尝试将 UIPanGestureRecognizerUILongPressGestureRecognizer 结合使用,但长按事件更多的是点击、按住然后滑动。我想要相反的东西。我还尝试了一个常规的点击事件,但直到取景器从屏幕上移除后才会触发?

谢谢

最佳答案

您可能需要使用计时器或 dispatch_after 来模拟您的高级识别器。

-(void)panGesture:(UIPanGestureRecognizer *)gesture;
{

    if ([gesture state] == UIGestureRecognizerStateBegan || [gesture state] == UIGestureRecognizerStateChanged) {
        fireEvent = YES;
        //Alternatively, use display_after
        [self performSelector:@selector(fireAnotherEventIfNecessary) withObject:nil afterDelay:2];
    } else {
        fireEvent = NO;
    }
}

-(void)fireAnotherEventIfNecessary {

    if (fireEvent) {
        // Fire Event
    }
}

关于objective-c - 如何在平移/拖动事件后检测保持(UIGestureRecognizer/iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13257003/

相关文章:

objective-c - 静态库 (ARC) 在非 ARC 应用程序上工作,遇到错误 : dyld: lazy symbol binding failed: Symbol not found: _objc_retainAutoreleasedReturnValue

ios - 如何在 iOS 中将 AVPlayer Controller 设置为锁定模式?

iphone - 通过 HTML 代码在 UIView 中使用透明背景色

iOS 8 UITableView 背景色外观

ios - 无法在 ios 中为 LinkedIn 创建登录 session

iphone - 将 UINavigationBar 的外观设置重置为默认值

objective-c - NSString “Expected ' :' before ' ]' token”错误

iOS - 用于添加 friend 的 Parse.com PFRelation 仅添加当前用户的关系,而不是添加 friend 的关系

ios - sleep NSThread 与。 GCD 调度后

ios - 如何从 native ios View 弹出回 flutter View ?