2009-12-15 6 views
1

J'ai une UIImageView que j'ai allouée à l'intérieur d'un UIView. Je veux appuyer deux fois sur cette sous-vue en utilisant TOUCHESENDED ou TOUCHESBEGAN et envoyer un rappel ou au moins un journal. J'apprécierais n'importe qui qui peut télécharger du code.Comment savoir si une sous-vue a été tapée deux fois

Répondre

0

Selon la documentation, il est recommandé de ne pas sous-classe UIImageView, mais cela est pour le dessin, si vous voulez seulement attraper les événements, vous pouvez sous-classe UIImageVIew et attraper l'événement. Ensuite, regardez la propriété tapCount du toucher. Comme par http://developer.apple.com/iPhone/library/documentation/UIKit/Reference/UITouch_Class/Reference/Reference.html#//apple_ref/occ/instp/UITouch/tapCount

+0

Je ne sais pas pourquoi, mais je ne peux pas mettre ce lien en ligne pas, il affiche correctement Aperçu de JS, mais pas sur la page. –

+0

J'ai fini par l'initialiser comme un autre roi de la vue, puis en faisant un fichier pour contrôler cela, puis mettre la méthode touchesBegan dans ce fichier. Merci – Jaba

1

Voici comment utiliser le .tapCount propriété à l'intérieur touchesBegan:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 
{ 
    NSUInteger numTaps = [[touches anyObject] tapCount]; 
    UITouch *touch = [[event allTouches] anyObject]; 

    if ([touch view] == yourThing) { 
      NSLog(@"%i taps", numTaps); 
    } 
} 
+0

mais ce que je tape est une sous-vue de mon Super et je veux demander à ma sous-vue combien de fois il a été tapé – Jaba

+0

Cela imprimera combien de fois une vue spécifique a été touchée. – willc2

Questions connexes