Description:
I am often accidentally unequipping things or pulling up fullscreen modals because releasing a touch and hold gesture activates the tap gesture on iOS.
Steps to Reproduce:
Inventory - Backpack
- On iOS, with items in backpack, navigate to inventory
- Tap on a non-equippable item in ‘backpack’ area of screen (left)
- Observe - details overlay/modal appears (as intended)
- Return to main inventory screen (tap outside main interactive area of overlay)
- Tap and hold down on an item in backpack (being careful not to move your finger)
- Observe - value/name tooltip appears above item icon (as intended)
- Release hold
- Observe - details overlay/modal appears (not desirable)
Inventory - Equipment
- On iOS, with armor/weapons equipped, navigate to inventory
- Tap on an item in ‘equipped items’ area of screen (right)
- Observe - item is unequipped (not desirable - different interaction paradigm from equipping it)
- Tap and hold down on another item in ‘equipped items’ area (being careful not to move your finger)
- Observe - equipment statistics tooltip appears above and to the left of the item icon (as itended)
- Release hold
- Observe - item is unequipped (failure)
Workaround:
When attempting to cancel a touch and hold gesture without activating a tap gesture, drag your finger to a non-interactive portion of the ui that is NOT an inventory slot (note, you CAN use an inventory slot to cancel a touch and hold on an equipped item without triggering a slot transfer, but this is strange as that is actually the way I would PREFER to unequip items)
Assumption:
It seems like maybe onTouchUp and onTouchDown events are being used instead of the onHold, maybe?