Appreciate the thoughts @DaveS and yes, super easy to do under Obj-C and Swift. But alas this doesn’t work the same way under Xojo via MobileTextField:
Let’s say a PIN field has a # within
You press backspace to clear the #
The KeyDown event gets called before the field is cleared
The TextChanged event then gets called
The field is now cleared
Conforming to standard UX conventions a second backspace should take you to the prior PIN field
There are now zero events that Xojo has to detect this next backspace as KeyDown, TextChanged or any others won’t be invoked with the backspace key
Today I did try a bit of a hack by using various Unicode spaces when the field is empty, but this wasn’t very successful, but I also didn’t try very hard.
Of course the true solution here would be to call out to textField:shouldChangeCharactersInRange:replacementString: within UITextFieldDelegate but this is probably more of a hassle than it’s worth at this point (from my side).
Ultimately this is a common place enough scenario that Xojo should solve this, regardless of the implementation, maybe similarly to how they have a ReturnPressed event.