7
votes

Détecter le robinet et la maintien dans les cellules UitablesView

Comment détectons-nous un robinet et maintenez-vous sur un utableviewcell ?


0 commentaires

4 Réponses :


0
votes

Vous devez probablement gérer l'événement uicontrolTouchdown 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 et uicontrolTouchUpoutSside événements). Lorsque la minuterie incendie, vous avez votre "robinet" détecté.


1 commentaires

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.



6
votes

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. xxx


2 commentaires

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 :)



9
votes

Dans iOS 3.2 ou plus tard, vous pouvez utiliser UilongressGesterRecognizer


0 commentaires

6
votes
//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");

    }

}

0 commentaires