我认为您无法在标准的长按手势识别器上自动获取该信息。您可以设置使用该minimumPressDuration
属性触发的时间,然后触发。
自从我完成了手势识别器的所有复杂工作以来已经有一段时间了,但是在看了一些文档之后,我认为您会得到手势时间:
在对您的操作方法的调用中检查手势识别器的状态。当您看到UIGestureRecognizerStateBegan
状态时,请记录时间(并记住添加最短的手势时间,因为在经过最小的长按持续时间之前,您的方法不会触发)。
UIGestureRecognizerStateEnded
手势完成时,将再次调用您的action方法。此时,您应该能够计算出手势的总持续时间。
从@ManikandanD的代码开始:
var longPressBeginTime: NSTimeInterval
var gesture: UILongPressGestureRecognizer =
UILongPressGestureRecognizer(target: self, action: "longPressed:")
gesture.minimumPressDuration = 0.2
self.Your_View_name.addGestureRecognizer(gesture)
func longPressed(longPress: UIGestureRecognizer)
{
if (longPress.state == UIGestureRecognizerState.Ended)
{
let gestureTime = NSDate.timeIntervalSinceReferenceDate() -
longPressBeginTime + longPress.minimumPressDuration
println("Gesture time = \(gestureTime)")
}
else if (longPress.state == UIGestureRecognizerState.Began)
{
println("Began")
longPressBeginTime = NSDate.timeIntervalSinceReferenceDate()
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1933 次 |
最近记录: |