我将 TouchesBegan TouchesMoved 与多点触控一起使用。
我有一个本质上是按钮的手动实现。
我在 TouchesBegan 的点上进行边界测试以将按钮设置为按下状态,而 TouchesEnded 的点相同以将其重置。
问题是,如果用户在抬起手指之前将手指移出按钮的边界,那么 TouchesEnded 就会超出触摸开始的按钮边界。
我不能只重置 touchesended 上的所有内容,因为用户可能仍在用另一根手指按住另一个按钮。
推荐的解决方案是什么? UIButton 一定在做类似的事情。
最佳答案
您需要观察 touchesMoved: 并在触摸移出其边界时“停用”您的按钮,并在触摸移回时“重新激活”您的按钮。参见 Handling a Complex Multi-Touch Sequences用于解释如何观察多点触摸序列的突变(说“那是哪个手指?”的奇特方式)
关于iphone - TouchesBegan 和 TouchesEnded 多点触控问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330705/