Disable IOS 3d touch gestures programmatically

1.1k views Asked by At

We have a problem where touches are not being recognized on the left edge of our Apple devices where 3d touch is enabled. What seems to happen is that the touchesBegan message is delayed for around a second (while the system tries to work out if you're going to swipe), and if you tap quickly, the touchesBegan message is sent immediately before the touchesEnded message, and our app doesn't pick it up.

If we switch 3d touch off in the settings menu, then we get the touchesBegan as soon as we touch the screen, as we do anywhere else on screen apart from the left hand edge.

Is there a way to turn off the 3d touch behaviour, for our app or view only, in code ? Or can we modify the behaviour of the specific gesture to "not delay touches began"

Does anyone have any code for either of these in objective C please ?

Thanks

Shaun Southern

1

There are 1 answers

0
alasker On

Check my answer to this here: `touchesBegan:withEvent:` is delayed at left edge of screen

I was working on a game, but same solution should apply to any app.