UIView touchesCancelled Not Called

时间:2018-06-14 15:25:15

标签: ios swift xcode uiview touch

我有一个未接收UIView的子类touchesCancelled。如果触摸下降并拖到屏幕外(或应该调用touchesCancelled的任何其他实例),则会调用touchesEnded而不是touchesCancelled。它永远不会被召唤!

我得到了:

self.clipsToBounds = true
self.isExclusiveTouch = true
self.isMultipleTouchEnabled = false

其他兄弟视图似乎被调用了touchesCancelled。此外,我没有附加手势识别器。

1 个答案:

答案 0 :(得分:1)

来自Apple文档https://developer.apple.com/documentation/uikit/uiresponder/1621116-touchescancelled ...

  

UIKit在接收到需要取消触摸序列的系统中断时调用此方法。中断是导致应用程序变为非活动状态或导致处理触摸事件的视图从其窗口中移除的任何内容。

当触摸在视图外移动/拖动时,touchesCancelled 被调用。