I'm using TouchesBegan TouchesMoved with Multitouch.
I have a manual implementation of what is essentially a button.
I bounds test on the point of TouchesBegan to set the button as down and the same for TouchesEnded to reset it.
The problem is if the user moves the finger out of the bounds of the button before lifting then the TouchesEnded is outside of the bounds of the button where the touch started.
I can't just reset everything on touchesended as the user might still be holding another button down with another finger.
What is the recommended solution to this? UIButton must be doing something similar somehow.