IOS 12.5.5 "Done dialog" at bottom of screen

When I tap an input box on a device running iOS 12.5.5 a small dialog shows up at the bottom of the screen that takes up real estate and hides the last row of a custom keypad I use. I have the BS4 inputType set to text with inputMode set to none (since I’m using my own custom keypad).

The form also has a BS4 Select which I suspect is causing it to appear, but the dialog still shows up if I disable the Select in my code.

Here’s a screenshot of the dialog:

Done question

Is there a way to ensure that this doesn’t pop up? Because Selects are handled differently with iOS 15 this isn’t a problem with newer devices.



Make input ‘Readonly’ (It will go grey which you may not like)
Add ‘event.preventDefault()’ to input_onclick() (May stop system events triggering.)

The other thing I do in your situation is change the input to a label, which stops those system events getting in the way.

Thanks lotsofcows.

Unfortunately I already had the inputs as ReadOnly and the ‘ event.preventDefault() ’ code didn’t change anything (was really betting on that one!). I’ll think about changing to labels … or perhaps just limiting the app to be used on newer devices.



Is there a way to close the dialog by using code to “tap” done?


I don’t think so - that message box is owned by the browser, not by your app.

You could get around this by creating your own number picker as another form.

My custom keyboard is a separate form. This dialog covers up the bottom of it … but only on old iPhones like a 5.

I’d be happy if I could find a way to have my custom keyboard form just be on top of this dialog (hiding it).