web-dev-qa-db-fra.com

Appuyez sur Reconnaissance pour UiImageView dans l'UitailViewCell

Actuellement, je suis confronté à un problème, je voudrais effectuer une action lorsque l'UIImageView sur mon Uitabiliewcell avait été exploitée.

Question : Comment puis-je le faire? Quelqu'un pourrait-il me montrer le code, ou tout tutoriel?

Merci d'avance!

25
Anatoliy Gatt

Essaye ça

//within cellForRowAtIndexPath (where customer table cell with imageview is created and reused)
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTap:)];
tap.cancelsTouchesInView = YES;
tap.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:tap];

// handle method
- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer 
{
    RKLogDebug(@"imaged tab");
}

assurez-vous d'avoir ....

imageView.userInteractionEnabled = YES;
6
WaaleedKhan

vous pouvez utiliser un CustomButton à la place UiImageView

3
iArezki

Un gestes de robinet reconnaissant peut être très éloigné et peut causer d'autres choses sur la page de se casser. Je vous recommanderais personnellement que vous créez une cellule de table personnalisée, insérez un bouton dans le cadre de la cellule personnalisé et dans le code TableView, définissez le Self.customtablecell.background.Background.Image à l'image souhaitée. De cette façon, vous pouvez affecter le bouton une ibaction pour le faire pousser à la vue que vous voulez.

0
Bradley

UTILISATION ALACTIONBLOCKS à l'action en bloc

__weak ALViewController *wSelf = self;
imageView.userInteractionEnabled = YES;
UITapGestureRecognizer *gr = [[UITapGestureRecognizer alloc] initWithBlock:^(UITapGestureRecognizer *weakGR) {
    NSLog(@"pan %@", NSStringFromCGPoint([weakGR locationInView:wSelf.view]));
}];
[self.imageView addGestureRecognizer:gr];
0
dimo hamdy