2013-03-30 16 views

risposta

3

Se si chiama resignFirstResponder sul campo di testo come prima azione dopo aver premuto invio, accetterà la correzione prima dell'invio.

- (IBAction)sendButtonPressed:(id)sender 
{ 
    [textField resignFirstResponder]; 
    // Send the textfield's text 
} 
+0

trovo meglio utilizzare '[endEditing self.view: SI]' invece di 'resignFirstResponder' . È molto più semplice quando c'è più di un campo di testo e/o una visualizzazione di testo. – rmaddy

+0

@rmaddy Lo uso anch'io, ma questo risponde alla domanda più direttamente senza bisogno di ulteriore conoscenza. L'OP ha appena menzionato un campo, quindi ho pensato che sarebbe stato semplice. –

4

L'ultima soluzione ti obbliga a nascondere la tastiera. Ho trovato una soluzione che autocorrects l'ultima parola senza rinunciare alla tastiera con l'aggiunta di uno spazio alla fine prima di presentare:

// This will force the autocompletion to take effect 
text = [NSString stringWithFormat:@"%@ ", text]; 

// Remove the last character afterwards 
text = [text substringToIndex:[text length]-1];