Wie kann man mehrere Ereignisse auf demselben UIButton in iOS verhindern?

8

Ich möchte fortlaufende Mehrfachklicks für dieselbe UIButton verhindern.

Ich habe versucht mit enabled und exclusiveTouch Eigenschaften, aber es hat nicht funktioniert. Wie:

%Vor%     
crazydev 05.02.2015, 11:44
quelle

4 Antworten

13

Was Sie tun, ist, dass Sie außerhalb des Blocks einfach aktiviert / deaktiviert werden. Dies ist falsch, es wird ausgeführt, sobald diese Methode aufgerufen wird, wodurch die Schaltfläche nicht deaktiviert wird, bis der Completion-Block aufgerufen wird. Stattdessen sollten Sie es wieder aktivieren, sobald Ihre Animation abgeschlossen ist.

%Vor%

Oh und ja, anstatt true und false , YES und NO würde gut aussehen. :)

    
Hemang 05.02.2015, 12:51
quelle
0

Das ist meine Lösung:

NSInteger _currentClickNum; // Speichere den aktuellen Wert der Tag-Schaltfläche, klickt

%Vor%     
ylgwhyh 27.09.2016 12:07
quelle
0

In meinem Fall war isEnabled nicht schnell genug, um mehrere Taps zu verhindern. Ich musste eine Eigenschaft und eine Wache verwenden, um mehrere Taps zu verhindern. Und die Aktionsmethode ruft einen Delegaten auf, der normalerweise den View-Controller ablehnt, aber mit mehreren Tastendrücken, die er nicht abgewiesen hat. dismiss(...) muss sich selbst abbrechen, wenn Code noch auf dem View-Controller ausgeführt wird, nicht sicher. Unabhängig davon musste ich ein manuelles dismiss im Wächter hinzufügen.

Hier ist meine Lösung ...

%Vor%     
Murray Sagal 08.03.2018 17:38
quelle
0

Anstatt die UIView-Animation zu verwenden, habe ich mich entschieden, die Klasse Timer zu verwenden, um die Schaltfläche nach einem Zeitintervall zu aktivieren. Hier ist die Antwort mit Swift 4:

%Vor%     
IuryPainelli 21.03.2018 00:52
quelle

Tags und Links