我正在iOS应用程序中实现touchesBegan
和touchesEnded
,试图检测用户何时将手指放在屏幕上以及何时将其释放。
我遇到的问题是,只要touchesBegan
被调用,如果用户在屏幕上按住手指的同时旋转设备,当他放开屏幕时,touchesEnded
会不被打电话。
有谁知道为什么会这样?
答案 0 :(得分:2)
您是否正在接触touchesCancelled?
通常,系统会在touchesEnded
之后调用touchesCancelled
或touchesBegan
,因此代码应该同时处理这两者。触摸可以由于各种原因而被取消,例如手势识别器接管,视图开始的非交互式动画,来电等等。