在Swift 4中TouchesEnded无法识别触摸已被删除

时间:2018-11-20 10:19:42

标签: ios swift gesture

对于MultipleTouchEnabled视图,touchesBegan按顺序返回触摸数字。当您触摸屏幕上的一根手指时,添加第二根手指时它将返回1。

但是当您移除一根手指的触摸时,Ended在两根手指触摸时不返回任何内容。如果您从屏幕上移开两个手指,它将同时返回2和1。因此我们不知道手指的数量在特定时间是否减少。

如果有一种方法可以检测到我找不到手指的情况。

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    if touches.first != nil {
         print("touching \(event?.touches(for: testView)?.count)")
    }
}

override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
    if touches.first != nil {
        print("untouching \(event?.touches(for: testView)?.count)")
    }
}

0 个答案:

没有答案