Esq*_*uth 5 uigesturerecognizer ios uipangesturerecognizer swift
当我拖动视图并将其放到新位置时,每次都会调用 .Ended 。
当我拖动视图一段时间并将其放在开始的同一位置时,没有任何内容被调用,我期望 .Ended 或 default 被调用,但没有发生。
为什么会出现这种情况?我如何了解用户何时持续释放视图?
var gestureRecognizer = UIPanGestureRecognizer(target: self, action: Selector("dragged:"))
gestureRecognizer.delegate = self
view.addGestureRecognizer(gestureRecognizer)
func dragged(gesture: UIPanGestureRecognizer) {
switch gesture.state {
case UIGestureRecognizerState.Began:
print("calls this everytime touch began")
case UIGestureRecognizerState.Ended:
print("doesn't call this everytime")
default:
print("never calls this")
}
}
Run Code Online (Sandbox Code Playgroud)
小智 2
您几乎应该始终使用 UIGestureRecognizerState.Ended || UIGestureRecognizerState.Cancelled 作为两者之一肯定会在手势结束时被调用。通过这种方式,您还可以处理用户拖过屏幕的情况。
| 归档时间: |
|
| 查看次数: |
2510 次 |
| 最近记录: |