Cocoa touch 刷卡XCode的实时反馈

Cocoa touch 刷卡XCode的实时反馈,cocoa-touch,Cocoa Touch,我已成功使用UISWeepGestureRecognitizer更改视图,但它仅在我完成刷卡后才开始更改视图。当我开始在屏幕上拖动手指时,如何使其启动?我已经搜索过了,但找不到答案。手势识别器将等待确定做出了哪个手势。这就是为什么他们总是有一些延迟。另一种方法是实现您自己的刷卡处理程序。例如,您可以使用touchsbegind:touchsended:touchsmoved:和touchscancelled:-方法 (请记住通过为节点启用userInteractionEnabled属性来启用这些

我已成功使用
UISWeepGestureRecognitizer
更改视图,但它仅在我完成刷卡后才开始更改视图。当我开始在屏幕上拖动手指时,如何使其启动?我已经搜索过了,但找不到答案。

手势识别器将等待确定做出了哪个手势。这就是为什么他们总是有一些延迟。另一种方法是实现您自己的刷卡处理程序。例如,您可以使用touchsbegind:touchsended:touchsmoved:和touchscancelled:-方法

(请记住通过为节点启用userInteractionEnabled属性来启用这些方法)

用平底锅的姿势

     UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
     [self addGestureRecognizer:pan];
然后做:

- (void)handlePan:(UIPanGestureRecognizer *)gesture {

    CGPoint touchPoint = [gesture locationInView:YOUR_VIEW];
    UIView *draggedView = [gesture view];

    switch ([gesture state]) {

        case UIGestureRecognizerStateBegan:    
            break;

        case UIGestureRecognizerStatePossible:

            break;

        case UIGestureRecognizerStateChanged:
            break;

        case UIGestureRecognizerStateEnded:
            break;

        case UIGestureRecognizerStateCancelled:
            break;

        case UIGestureRecognizerStateFailed:
            break;

        default: 
            break;
    }
}

当你移动手指时,平移手势识别器会不断给你回叫。我从来没说过不会。我只是注意到(某些)手势识别器(如滑动)在触发之前总是有一点延迟。这就是为什么它们可能不适合需要即时反馈的情况。事实上,您可以使用PangestureRecognitor来实现自己的刷卡手势。我只是建议了另一种注册触摸的方法。
- (void)handlePan:(UIPanGestureRecognizer *)gesture {

    CGPoint touchPoint = [gesture locationInView:YOUR_VIEW];
    UIView *draggedView = [gesture view];

    switch ([gesture state]) {

        case UIGestureRecognizerStateBegan:    
            break;

        case UIGestureRecognizerStatePossible:

            break;

        case UIGestureRecognizerStateChanged:
            break;

        case UIGestureRecognizerStateEnded:
            break;

        case UIGestureRecognizerStateCancelled:
            break;

        case UIGestureRecognizerStateFailed:
            break;

        default: 
            break;
    }
}