2009-06-10 17 views

risposta

198
- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 
    return NO; 
} 

Non dimenticare di impostare il delegato in storyboard ...

enter image description here

+2

qualche modo questo non funziona affatto. Tasto Invio non viene catturato. – Jonny

+43

Assicurati che il controller della vista sia impostato come delegato del campo di testo. – zekel

+0

@zekel grazie al suo funzionamento per me questo è quello che mi serve ... – Karthik

37

delegazione non è richiesto, ecco una battuta:

- (void)viewDidLoad { 
    [textField addTarget:textField 
        action:@selector(resignFirstResponder) 
     forControlEvents:UIControlEventEditingDidEndOnExit]; 
} 

Purtroppo non puoi farlo direttamente nello Storyboard (non puoi collegare azioni al controllo che le emette Storyboard), ma potresti farlo tramite un'azione intermedia.

+1

bella risposta !!!!! – souvickcse

+1

Voglio solo far notare che l'evento 'UIControlEventEditingDidEndOnExit' viene inviato solo se' textFieldShouldReturn: 'metodo delegate restituisce SÌ (senza prima rinunciare al campo di testo). –

+0

Non è * necessario * implementare la delega. Ma forse se lo fai devi restituire 'SÌ' per questo metodo. – mxcl

-1
- (BOOL)textFieldShouldReturn:(UITextField *)txtField 
{ 
[txtField resignFirstResponder]; 
return NO; 
} 

Quando il bottone ENTER si fa clic su questo metodo delegato è called.you può catturare pulsante di ritorno da questo metodo delegato.

0

override open func viewDidLoad() { 
    super.viewDidLoad()  
    textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit) 
} 

in enterPressed funzione SWIFT 3.0() ha messo tutti i comportamenti che stai dopo

func enterPressed(){ 
    //do something with typed text if needed 
    textField.resignFirstResponder() 
} 
0

Ora è possibile farlo è storyboard utilizzando l'evento inviato 'è finita On Exit'.

Secondo lei regolatore sottoclasse:

@IBAction func textFieldDidEndOnExit(textField: UITextField) { 
    textField.resignFirstResponder() 
} 

Nel vostro storyboard per il campo di testo desiderato:

enter image description here

Problemi correlati