touchesEnded 在设备改变方向后没有被调用

touchesEnded not getting called after device changes orientation

我正在我的 iOS 应用程序中实现 touchesBegantouchesEnded,试图检测用户何时将手指放在屏幕上以及何时松开。

我遇到的问题是,一旦 touchesBegan 被调用,如果用户在旋转设备的同时仍将手指放在屏幕上,当他松开屏幕时,touchesEnded 没有被调用。

有谁知道为什么会这样?

您是否改为使用 touchesCancelled?

通常,系统会在 touchesBegan 之后调用 touchesEndedtouchesCancelled,因此代码应同时处理这两者。触摸可以因各种原因而被取消,例如手势识别器接管、视图上开始的非交互式动画、传入的 phone 调用等。