From fd013df20399531c6a8abe606bef5e702efe662f Mon Sep 17 00:00:00 2001 From: Nicholas Riley Date: Sun, 25 Oct 2015 17:37:51 -0400 Subject: [PATCH] Make 3D Touch work to bring up contextual menus. Also makes delay-based contextual menu trigger work on 3D Touch-capable devices (#781). --- clients/ios/Classes/EventWindow.m | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/clients/ios/Classes/EventWindow.m b/clients/ios/Classes/EventWindow.m index a81ff6244..8db509ee8 100644 --- a/clients/ios/Classes/EventWindow.m +++ b/clients/ios/Classes/EventWindow.m @@ -56,12 +56,21 @@ case UITouchPhaseEnded: [contextualMenuTimer invalidate]; + contextualMenuTimer = nil; if (unmoved) { [self tapAction]; } break; - case UITouchPhaseMoved: + case UITouchPhaseMoved: // Changes in force are also "moves" + if (CGPointEqualToPoint([touch locationInView:self], tapLocation)) { + if (touch.force > 0.75) { + [contextualMenuTimer invalidate]; + contextualMenuTimer = nil; + [self tapAndHoldAction:nil]; + } + break; + } case UITouchPhaseCancelled: unmoved = NO; [contextualMenuTimer invalidate];