UISwipeGestureRecognizer手势起点

时间:2010-09-30 13:15:11

标签: iphone objective-c cocoa-touch xcode uigesturerecognizer

是否可以从UISwipeGestureRecognizer获取手势起点。喜欢它的可能性

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch * touch = [touches anyObject];
    gestureStartPoint = [touch locationInView:self];
}

3 个答案:

答案 0 :(得分:7)

根据UISwipeGestureRecognizer documentation你可以:

  

您可以通过调用UIGestureRecognizer方法locationInView:和locationOfTouch:inView:来确定滑动开始的位置。如果手势中涉及多个触摸,前一种方法会为您提供质心;后者给出了特定触摸的位置。

PS:你真的应该先看看文档,答案是在UISwipeGestureRecognizer的类引用中,应该不难找到。作为开发人员的一部分是能够查找,Apple拥有优秀的文档,使用它!

答案 1 :(得分:3)

警告

Amy的答案完全是错误!识别器可能会生成UIGestureRecognizerStateBegan,但只需轻扫UISwipeGestureRecognizer即可生成UIGestureRecognizerStateEnded个事件。

但是touchesBegan:可以正常工作。问题是如果它支持用户交互,那么它仅适用于当前视图,您需要将其传递给父视图。

答案 2 :(得分:0)

是的,有可能。请参阅以下代码:

if ([recognizer state] == UIGestureRecognizerStateBegan || [recognizer state] != UIGestureRecognizerStateChanged) {
    NSLog(@"StateBegan :::::");
}