Игнорирование последнего взмаха пальцем

31 октября 2013, 0:11

Когда мы выбираем что-то на тач-устройстве, при отпускании пальца он непроизвольно двигается рывком немного в сторону, просто потому, что физиологически удобнее увести палец не вверх, ортогонально поверхности экрана, а немного наискось. Если выбор не дискретный, как барабан на айфоне, а какой-то более точный (как какая-нибудь рисовалка, например), то последнее движение должно игнорироваться программой. То есть, алгоритм должен понимать, что вот человек держал палец, вот что-то ещё дернулось и палец уже не на экране, значит последний рывок был случайный и его не надо принимать в расчёт.

На маке, если «хлопнуть» по капс-локу, ничего не произойдёт (даже если нажатия достаточно для замыкания контактов). Но если нажать уверенно и чуть медленней, то он включится. Также работает и макос/айос прокрутка — она не начинается до уверенного движения в одну из сторон, случайные короткие взмахи не учитываются. Хотя, при отпускании пальца, прокрутка может немного дернуться, но это не критично для неё, как критично по отношению к интерфейсам, где, например, координаты задаются положением пальца на экране. Мало того, что точность пальца весьма низкая, так ещё есть вполне вероятный шанс сбить всё после кропотливой подгонки.