Ios CGRectIntersectsRect后停止用户交互

Ios CGRectIntersectsRect后停止用户交互,ios,objective-c,core-graphics,cgrect,Ios,Objective C,Core Graphics,Cgrect,我正在尝试设置一个游戏的一小部分,用户将标签拖到另一个标签上。如果他这样做了,标签就会重置,球员的分数也会增加 问题是,如果我按住标签,我会得到无限多的点,因为我创建的矩形不会重置它的位置,只要我保持手指在屏幕上 代码如下: - (void)viewDidLoad { UIPanGestureRecognizer *panrecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(ha

我正在尝试设置一个游戏的一小部分,用户将标签拖到另一个标签上。如果他这样做了,标签就会重置,球员的分数也会增加

问题是,如果我按住标签,我会得到无限多的点,因为我创建的矩形不会重置它的位置,只要我保持手指在屏幕上

代码如下:

- (void)viewDidLoad
{
    UIPanGestureRecognizer *panrecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePangesture:)];

    [self.dragMe addGestureRecognizer:panrecognizer];
}

- (void)handlePangesture:(UIPanGestureRecognizer *)gestureRecognizer
{
    self.dragMe.center = [gestureRecognizer locationInView:self.dragMe.superview];

    CGRect dragMerect = self.dragMe.frame;

    CGRect endZonerect = self.endZone.frame;

    if (CGRectIntersectsRect(dragMerect, endZonerect)) {

        dragMerect.origin.x = 100;
        dragMerect.origin.y = 100;
        self.dragMe.center = dragMerect.origin;

        Points++;

        self.points.text = [NSString stringWithFormat:@"Points: %d",Points];

        NSLog(@"Rect is Intersecting");

        NSLog(@"%d",Points);
    }
}
希望你们知道我在说什么,以及如何修复它


提前感谢,Niklas

如果您希望应用程序禁用所有用户交互,请使用:

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
重置标签后不要忘记启用它:

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

UIGestureRecognitor具有手势开始、结束、移动等状态属性。。。使用此状态属性。