2013-03-30 2 views
6

Im Chat-Bildschirm meiner iOS-App werden Wörter automatisch korrigiert, nachdem der Benutzer ein Leerzeichen eingegeben hat. Das letzte Wort wird jedoch nicht automatisch korrigiert, wenn der Benutzer auf Senden klickt. Wie kann ich das vorgeschlagene Wort erhalten, um das falsch geschriebene Wort zu ersetzen, wenn der Benutzer auf Senden klickt?In iOS, wie korrigiere ich das letzte Wort beim Senden automatisch?

Antwort

3

Wenn Sie resignFirstResponder in Ihrem Textfeld als die erste Aktion nach dem Drücken von senden aufrufen, wird es die Korrektur vor dem Senden akzeptieren.

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

Ich finde es besser zu nutzen '[self.view endEditing: JA]' statt 'resignFirstResponder' . Es ist viel einfacher, wenn mehr als ein Textfeld und/oder eine Textansicht vorhanden ist. – rmaddy

+0

@rmaddy Ich benutze das auch, aber das beantwortet die Frage direkter ohne zusätzliches Wissen. Das OP erwähnte gerade ein Feld, also dachte ich, ich würde es einfach halten. –

4

Die letzte Lösung zwingt Sie, Ihre Tastatur zu verbergen. Ich fand eine Lösung, die ohne ausscheid die Tastatur durch Hinzufügen ein Leerzeichen am Ende vor dem Absenden das letzte Wort autocorrects:

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

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