UIImage la détection de toucher et glisser

Assez commun cette question, à laquelle j'ai quelques réponses et je suis presque là. J'ai un bouton qui, lorsqu'il est pressé, permettra de créer une image (code comme suit)

(numImages est mis à charge à ZÉRO et est utilisé comme un compte pour les numéros d'étiquette de toutes les images créées)

UIImage *tmpImage = [[UIImage imageNamed:[NSString stringWithFormat:@"%i.png", sender.tag]] retain];
UIImageView *myImage = [[UIImageView alloc] initWithImage:tmpImage];

numImages += 1;

myImage.userInteractionEnabled = YES;
myImage.tag = numImages;
myImage.opaque = YES;
[self.view addSubview:myImage];
[myImage release];

J'ai alors d'un touchesBegan méthode qui permet de détecter ce qui est touché. Ce que j'en ai besoin pour faire est de permettre à l'utilisateur de faire glisser l'image nouvellement créées. C'est presque de travail, mais l'image scintille de tous sur la place lorsque vous le faites glisser. Je peux accéder à l'image que vous cliquez sur que je peux l'obtenir de la BALISE, mais je ne peux tout simplement faire glisser gentiment.

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

    UITouch *touch = [[event allTouches] anyObject];
    CGPoint location = [touch locationInView:touch.view];

    if (touch.view.tag > 0) {
        touch.view.center = location;
    }

    NSLog(@"tag=%@", [NSString stringWithFormat:@"%i", touch.view.tag]);

}

- (void) touchesMoved:(NSSet *)touches withEvent: (UIEvent *)event {
    [self touchesBegan:touches withEvent:event];
}

Il travaille, que je reçois une sortie de la balise pour chaque image que je clique sur eux. Mais quand je fais glisser, il clignote... des idées?

OriginalL'auteur Matt Facer | 2010-01-02