首页 > 解决方案 > UIView touchesCancelled 未调用

问题描述

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

我有:

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

其他兄弟观点似乎得到了他们的touchesCancelled召唤。我也没有附加手势识别器。

标签: iosswiftxcodeuiviewtouch

解决方案


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

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

因此,当触摸在视图外移动/拖动时不会被touchesCancelled调用


推荐阅读