2013-05-15 13 views
5

Sto provando a creare un pulsante che attiverà un'azione quando il tocco dell'utente viene portato ovunque nel pulsante (sia che tocchi dentro o trascini dall'esterno all'interno del pulsante). In sostanza, ho bisogno di creare un modo per attivare l'azione ogni volta che un dito è all'interno del pulsante.UIButton iOS Toccare Trascinare Invio non funzionante come previsto?

"Tocca trascina invio" combinato con "tocca giù dentro" sembra che farebbe il lavoro, ma sembra che funzioni in modo diverso da quello che mi serve.

Inoltre, preferirei se fosse possibile farlo in storyboard piuttosto che in hard code (come i touchBegan/spostati), ma se non c'è altro modo va bene.

risposta

0

Quando si imposta la connessione in IB Touch Down dovrebbe essere quello che stai cercando. Ogni volta che il dito dell'utente tocca il pulsante, verrà richiamata l'azione.

+2

Questo non risolve il bisogno dell'OP di azioni da attivare quando viene premuto il tocco nel pulsante. –

3

O è necessario associare tutti gli eventi uno alla volta con il metodo che si intende richiamare premendo il pulsante da IB.

O

Si può provare a registrare il pulsante per UIControlEventAllTouchEvents all'interno del vostro codice. Ecco un esempio che potrebbe essere utile

[_btnRoundRect addTarget:self action:@selector(btnPressedAction) forControlEvents:UIControlEventAllTouchEvents]; 


- (void)btnPressedAction{ 
    NSLog(@"Bttn pressed"); 
} 
5

Touch drag enter vi viene chiamato solo quando u avviare il contatto all'interno del controllo e trascinarlo al di fuori dei limiti del controllo e trascinarlo di nuovo all'interno del controllo, senza lasciare la toccare. Quindi devi sottoclassi il tuo pulsante e ottieni le funzionalità richieste.