Nella schermata della chat dell'app iOS, le parole vengono corrette automaticamente dopo che l'utente ha inserito uno spazio. Ma l'ultima parola non viene corretta automaticamente quando l'utente tocca Invia. Come posso ottenere la parola suggerita per sostituire la parola errata quando l'utente tocca Invia?In iOS, come posso correggere automaticamente l'ultima parola al momento dell'invio?
6
A
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
}
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];
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
@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. –