2013-03-16 12 views
5

Sto facendo un'app calcolatrice e sto fornendo la mia tastiera con UIButtons. Ho una chiave di cancellazione e tutto funziona, tranne che l'utente deve continuare a premere il tasto di cancellazione più e più volte se vogliono eliminare tutto.Come si programma un pulsante di eliminazione continua?

Mi chiedevo se c'è un modo per cancellare tutto quando il pulsante viene tenuto premuto per più di 2 secondi.

+0

Questo manca dettagli importanti. Come memorizzi il numero? Come si elimina attualmente l'ultima cifra? –

+0

Quando l'utente preme un tasto numerico, inserisce un UILabel nella parte superiore e il tasto cancella elimina solo un carattere dalla fine di UILabel.text. – OnkaPlonka

+0

Se si utilizza il gesto di compressione lunga, spero che si possa ottenere tale funzionalità. – Exploring

risposta

4

Il modo più semplice per implementarlo consiste nel collegamento di un indicatore di riconoscimento della pressione prolungata al pulsante [Delete].

Xcode consente di collegare il riconoscimento di gesture a pressione lunga nel generatore di interfacce. Aggiungilo al tuo pulsante, configura la durata della lunga pressione e connetti il ​​gestore allo IBOutlet nello stesso modo in cui colleghi altri eventi dell'interfaccia utente.

Se si preferisce farlo in codice, this answer mostra come.

+0

GRAZIE SOOOOOOOOO MOLTO !!!! accetterà risposta quando posso – OnkaPlonka

2

utilizzare la propria funzione di timer per gestire questa

-(IBAction)buttonHit { 
    //here start timer that fires for every 2 seconds and handle deletion method in that 
} 

-(IBAction)buttonReleased { 
    //Stop timer... 
} 
+0

Grazie, ma questo non mi ha davvero aiutato – OnkaPlonka

+0

meglio controllare questo: https://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/Reference/NSTimer.html – Guru

Problemi correlati