我有一个未接收UIView
的子类touchesCancelled
。如果触摸下降并拖到屏幕外(或应该调用touchesCancelled
的任何其他实例),则会调用touchesEnded
而不是touchesCancelled
。它永远不会被召唤!
我得到了:
self.clipsToBounds = true
self.isExclusiveTouch = true
self.isMultipleTouchEnabled = false
其他兄弟视图似乎被调用了touchesCancelled
。此外,我没有附加手势识别器。
答案 0 :(得分:1)
来自Apple文档https://developer.apple.com/documentation/uikit/uiresponder/1621116-touchescancelled ...
UIKit在接收到需要取消触摸序列的系统中断时调用此方法。中断是导致应用程序变为非活动状态或导致处理触摸事件的视图从其窗口中移除的任何内容。
当触摸在视图外移动/拖动时,touchesCancelled
会 被调用。