Ios - taps sometimes not recognized


#1

Hi,

i found an issue on my ios test device:

Tapping clickable elements does not seem to work always.
E.g. i Have a level selector, which shows each level as DIV Container with a (click) event handler. It happens (very reproducable) that the first tap on the level (even if its half-screen size) does not get recognized. The handler is not executed. However, it works fine on the 2nd tap always. Same happens to many other elements I use.

Is this a known issue or is there some workaround?

The issue does not appear on any Android device of my ~20 testers and on my own ones. Also not in chrome on PC.

Device is iPhone 6 with ios 11.0.3. I’m using cordova-plugin-ionic-webview.

ionic info

cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.15.2
    ionic (Ionic CLI) : 3.15.2

global packages:

    cordova (Cordova CLI) : 7.1.0 

local packages:

    @ionic/app-scripts : 3.0.1
    Cordova Platforms  : android ios 4.5.2
    Ionic Framework    : ionic-angular 3.7.1

System:

    ios-deploy : 1.9.1 
    ios-sim    : 5.0.13 
    Node       : v6.10.3
    npm        : 3.10.10 
    OS         : macOS Sierra
    Xcode      : Xcode 9.0.1 Build version 9A1004 

Environment Variables:

    ANDROID_HOME : not set

Misc:

    backend : pro

Greetings


#2

You’re putting click or tap in a div? Make the div (or anything that isn’t expecting to need to process a click) tappable, and that will probably fix it.

<div tappable (click)="example()">


#3

Thanks for your hint but unfortunately this doesn’t solve it. I think the only change this does is to apply the touch-action: manipulation; css property, which I already have on the element anyway in my scss… but nice hint that I can avoid it with this - but still not solves the issue mentioned here :frowning: (and yes I tried it with tappable now also)

edit:
even replacing the div with a button tag does not help - but maybe its a bit a different issue:
It seems if I wait a few seconds before doing the 1st tap - it works!

so it seems like a timing issue somehow?


#4

Seems like the issue is related to https://github.com/ionic-team/ionic/issues/5838 by switching to android transitions the issue is gone!