Autokorrektur ist ein integrierter iOS-Mechanismus, der Tippfehler bei der Texteingabe automatisch korrigiert. UIKit verwaltet das Verhalten der Autokorrektur über die Eigenschaft autocorrectionType im Protokoll UITextInputTraits und unterstützt drei Modi: Standard, aktiviert und deaktiviert. Laut Apple Text Programming Guide (2025) analysiert die Autokorrektur den eingegebenen Text auf Basis des Systemwörterbuchs und maschinellen Lernens auf dem Gerät. Verwenden Sie autocorrectionType für jedes Textfeld einzeln — dies ermöglicht eine Anpassung des Verhaltens an die Spezifik der eingegebenen Daten.
Wichtige Punkte
Autokorrektur ist eine Funktion des iOS-Betriebssystems, die eingegebene Wörter automatisch durch vermeintlich korrekte Alternativen ersetzt, wenn ein Rechtschreibfehler erkannt wird. Der Mechanismus arbeitet auf der Ebene der UIKit-Textfelder und ist in allen Anwendungen verfügbar, die die standardmäßigen Eingabeelemente UITextField und UITextView verwenden.
Im Kern der Autokorrektur steht ein Sprachmodell, das mit Millionen von Textbeispielen für jede unterstützte Sprache trainiert wurde. Das Modell arbeitet vollständig auf dem Gerät (on-device), was die Vertraulichkeit der eingegebenen Daten gewährleistet — der Text wird nicht zur Analyse an Apple-Server gesendet. Mit jedem iOS-Update wird das Modell verfeinert und um neue Wörter und Regeln erweitert.
Die Autokorrektur wird für alle Textfelder automatisch aktiviert, sofern der Entwickler sie nicht explizit deaktiviert. Der Benutzer kann die Autokorrektur in den Systemeinstellungen (Einstellungen > Allgemein > Tastatur > Autokorrektur) vollständig deaktivieren, aber der Entwickler kann dieses Verhalten auch für einzelne Felder über die Eigenschaft autocorrectionType steuern.
Laut WWDC 2023 Session 204 hat Apple ein verbessertes Autokorrektur-Sprachmodell auf Basis von Transformer vorgestellt, das den Kontext des gesamten Satzes und nicht nur des letzten Wortes berücksichtigt. Dies reduzierte falsche Korrekturen um 30% im Vergleich zum vorherigen n-gramm-basierten Modell.
UITextAutocorrectionType ist eine Aufzählung mit drei Werten, die das Autokorrekturverhalten für ein bestimmtes Textfeld festlegen. Jeder Wert wird über die Eigenschaft autocorrectionType gesetzt, die im Interface Builder und im Code bei der Erstellung des Feldes verfügbar ist.
Der Wert .default bedeutet, dass das Feld die globale Autokorrektureinstellung aus den Systemparametern der Tastatur übernimmt. Dieser Modus wird für die meisten Textfelder empfohlen, da er die Wahl des Benutzers respektiert. Wenn der Benutzer die Autokorrektur in den Einstellungen deaktiviert hat, wird ein Feld mit .default sie ebenfalls nicht verwenden.
Der Wert .yes aktiviert die Autokorrektur für das Feld unabhängig von der Systemeinstellung zwangsweise. Dieser Modus sollte nur für Felder verwendet werden, bei denen die Rechtschreibgenauigkeit kritisch ist — zum Beispiel in Texteditoren, Notizfeldern oder Nachrichten. Apple empfiehlt, .yes mit Vorsicht zu verwenden, da die erzwungene Aktivierung den Erwartungen des Benutzers widersprechen kann.
Der Wert .no deaktiviert die Autokorrektur für ein bestimmtes Feld. Dieser Modus ist obligatorisch für Passwortfelder (sichere Texteingabe), E-Mail-Adressen, Bestätigungscodes und Suchanfragen. In diesen Feldern ist die Autokorrektur nicht nur nutzlos, sondern schädlich — sie kann korrekt eingegebene Daten durch fehlerhafte Alternativen ersetzen.
| Modus | Wert | Empfehlung |
|---|---|---|
| .default | Übernimmt Systemeinstellung | Die meisten Eingabefelder |
| .yes | Zwangsweise aktiviert | Texteditoren, Notizen |
| .no | Zwangsweise deaktiviert | Passwörter, E-Mail, Suche, Codes |
Das Sprachmodell der iOS-Autokorrektur verwendet eine Kombination aus einem statischen Wörterbuch und einem dynamisch trainierten Modell. Das Systemwörterbuch enthält die am häufigsten verwendeten Wörter für jede Sprache, während das Transformer-basierte Sprachmodell den Kontext und die Ersatzwahrscheinlichkeit analysiert. Das Modell wird auf dem Gerät basierend auf den vom Benutzer eingegebenen Texten trainiert.
Benutzer können über die Tastatureinstellungen (Einstellungen > Allgemein > Tastatur > Textersetzung) Wörter zu einem persönlichen Wörterbuch hinzufügen. Hinzugefügte Wörter werden in iCloud gespeichert und über dieselbe Apple-ID zwischen Geräten synchronisiert. Das System korrigiert keine Wörter aus dem persönlichen Wörterbuch, was für Namen, Marken und technische Begriffe praktisch ist.
Für spezialisierte Bereiche — medizinische, juristische, technische — kann das Standardwörterbuch unzureichende Begriffe enthalten. In solchen Anwendungen wird empfohlen, entweder die Autokorrektur für die entsprechenden Felder zu deaktivieren oder eine benutzerdefinierte Textersetzung über die UIResponder-Methode .replacementDictionary für iOS 17+ zu verwenden.
Laut Apple Machine Learning Research (2024) verarbeitet das neue Autokorrekturmodell auf Basis der Transformer-Architektur bis zu 10 Kontext-Token (gegenüber 3 Token im vorherigen Modell), was eine genauere Bestimmung der Benutzerabsicht ermöglicht. Das Modell berücksichtigt nicht nur die Rechtschreibung, sondern auch die grammatikalische Struktur des Satzes.
Safe Keyboard ist ein geschützter Eingabemodus, der automatisch für Felder mit secureTextEntry = true aktiviert wird. In diesem Modus werden Autokorrektur, automatische Großschreibung und predictive Input vom System unabhängig von den eingestellten autocorrectionType-Werten deaktiviert. Das System blockiert auch den Zugriff auf das Benutzerwörterbuch und Textersetzungen.
Safe Keyboard verhindert das Austreten von Eingabedaten über Autokorrekturmechanismen. Wäre die Autokorrektur für ein Passwortfeld aktiv, könnte das System das eingegebene Passwort im Benutzerwörterbuch speichern oder zum Modelltraining an Apple-Server senden. Safe Keyboard stellt sicher, dass vertrauliche Daten die Anwendung nicht verlassen.
Bei Finanzanwendungen wird Safe Keyboard nur für Felder mit secureTextEntry automatisch aktiviert. Für Eingabefelder von Kartennummern, Ablaufdaten und CVV-Codes muss der Entwickler die Autokorrektur manuell deaktivieren, indem er autocorrectionType = .no und keyboardType = .numberPad oder .phonePad setzt.
Ab iOS 17 unterstützt Safe Keyboard Schutz vor Abfangen durch Tastaturen von Drittanbietern. Wenn der Benutzer eine Tastatur aus dem App Store installiert hat, ersetzt die Systemtastatur bei Aktivierung von secureTextEntry automatisch die Drittanbieter-Tastatur, selbst wenn diese als Standard ausgewählt war. Dies stellt sicher, dass Passwörter nur über die sichere Systemtastatur eingegeben werden.
Die Verwaltung der Autokorrektur in Swift erfolgt über die Eigenschaft autocorrectionType der Objekte UITextField und UITextView. Die Eigenschaft ist sowohl zum Lesen als auch zum Schreiben verfügbar und kann je nach Eingabekontext dynamisch geändert werden. Die Konfiguration über den Interface Builder ist im Attributinspektor unter dem Namen Correction verfügbar.
let textField = UITextField()
textField.autocorrectionType = .no
Für ein Anmeldeformular sollte die Autokorrektur für das Passwortfeld deaktiviert und für das Anmeldefeld standardmäßig aktiviert sein. Das E-Mail-Feld sollte ebenfalls ohne Autokorrektur bleiben, da das @-Symbol und Domainnamen oft falsch ersetzt werden. Für das Benutzernamensfeld kann die Autokorrektur aktiviert werden, wenn der Benutzername ein lesbares Wort ist.
class RegistrationViewController: UIViewController {
@IBOutlet var nameField: UITextField!
@IBOutlet var emailField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
nameField.autocorrectionType = .yes
emailField.autocorrectionType = .no
emailField.textContentType = .emailAddress
}
}
Für UITextView erfolgt die Autokorrektur-Konfiguration ähnlich. Dies ist besonders wichtig für mehrzeilige Eingabefelder für Kommentare, Nachrichten und Notizen, wo die Autokorrektur den größten Nutzen bringt, aber auch Unannehmlichkeiten bei der Eingabe von technischen Begriffen oder Code verursachen kann.
let textView = UITextView()
textView.autocorrectionType = .default
Für dynamische Änderungen der Autokorrektur verwenden Sie den UITextFieldDelegate-Protokoll. Die Methode textFieldDidBeginEditing wird aufgerufen, wenn ein Feld aktiviert wird, und darin können Sie autocorrectionType je nach aktuellem Kontext oder der Rolle des Feldes ändern, die sich während des Anwendungsbetriebs ändern kann.
Die Autokorrektur sollte deaktiviert werden in Feldern, bei denen die Genauigkeit der eingegebenen Daten kritisch ist und das System die Benutzerabsicht nicht korrekt bestimmen kann. Hauptfälle: Passwort- und Sicherheitsdatenfelder, E-Mail-Adress-Eingabefelder, Suchstrings, Code- und Programmcode-Eingabefelder sowie Felder mit nicht standardmäßigen Datenformaten.
Für Suchleisten (UISearchBar) ist die Autokorrektur standardmäßig deaktiviert, was den Benutzererwartungen entspricht. Bei der Suche kann der Benutzer unvollständige Wörter, technische Begriffe oder Abfragen in verschiedenen Sprachen eingeben, und die Autokorrektur würde nur stören. Gleiches gilt für URL- und Domainnamen-Eingabefelder.
In Messengern und Kommunikations-Apps ist die Autokorrektur normalerweise aktiviert, aber für die Eingabe von Slang, Abkürzungen und informellem Vokabular kann sie Unannehmlichkeiten verursachen. In solchen Fällen kann der Benutzer die Autokorrektur über die Tastatureinstellungen deaktivieren, oder der Entwickler kann einen Schalter direkt in der Anwendungsoberfläche bereitstellen.
Laut Apples Human Interface Guidelines sollte die Autokorrektur für jedes Feld deaktiviert werden, bei dem die eingegebenen Daten möglicherweise nicht im Systemwörterbuch gefunden werden: Bestellnummern, Buchungscodes, Kennungen, IMEI, MAC-Adressen. Wenn das Feld alphanumerische Daten in einem nicht standardmäßigen Format akzeptiert — deaktivieren Sie die Autokorrektur.
Häufig gestellte Fragen
Es gibt keine globale Deaktivierung der Autokorrektur für die gesamte Anwendung. Sie müssen autocorrectionType = .no für jedes Textfeld einzeln setzen oder eine UITextField-Unterklasse mit einem überschriebenen Wert erstellen.
Der Simulator verwendet ein vereinfachtes Eingabemodell von der Mac-Tastatur. Das Autokorrektur-Sprachmodell ist im Simulator nicht aktiv — verwenden Sie für Tests ein echtes Gerät.
Der Benutzer kann ein Wort über Einstellungen > Allgemein > Tastatur > Textersetzung hinzufügen. Es gibt keine API für die Anwendung, um programmatisch Wörter zum systemeigenen Autokorrekturwörterbuch hinzuzufügen.
Nein, keyboardType hat keinen Einfluss auf die Autokorrektur. Selbst bei der .numberPad-Tastatur kann die Autokorrektur aktiv sein, wenn sie nicht explizit über autocorrectionType deaktiviert wurde.
Tastaturen von Drittanbietern haben eigene Autokorrekturmechanismen und verwenden nicht den systemeigenen UITextAutocorrectionType. Das Verhalten hängt von der Implementierung der jeweiligen Tastatur ab.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch