Comment détectons-nous un robinet et maintenez-vous sur un utableviewcell code>? p>
4 Réponses :
Vous devez probablement gérer l'événement uicontrolTouchdown em> et, en fonction de ce que vous entendez par «Hold», tirez un NSTIMER qui comptera un intervalle puisque vous avez initié le contact et invalider le toucher ( uicontrolTouchinIseide em> et uicontrolTouchUpoutSside em> événements). Lorsque la minuterie incendie, vous avez votre "robinet" détecté. P>
Je peux ne pas avoir assez d'expert à venir de cette réponse au code réel ... mais je veux dire par contenir le même comportement dans les safari mobiles lors de la prise et de la détention d'une URL pour avoir une feuille d'action Pop pour montrer des options concernant cette URL.
Voici le code soulevé directement de mon application. Vous devez ajouter ces méthodes (et un membre booléen _canceltouchs) à une classe que vous découlez d'Uitabiliewcell.
Vous ne devriez jamais utiliser de code comme celui-ci -> _ Canceltouches = Oui; Au lieu d'utiliser simplement Self.canceltouches = Oui; et déclarer la propriété privée
Quelle est cette syntaxe "-> _"? jamais vu avant :)
//Add gesture to a method where the view is being created. In this example long tap is added to tile (a subclass of UIView): // Add long tap for the main tiles UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longTap:)]; [tile addGestureRecognizer:longPressGesture]; [longPressGesture release]; -(void) longTap:(UILongPressGestureRecognizer *)gestureRecognizer{ NSLog(@"gestureRecognizer= %@",gestureRecognizer); if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) { NSLog(@"longTap began"); } }