iPhone Programmierung: Deaktiviere die Rechtschreibprüfung in UITextView

8

UITextAutocorrectionTypeNo hat nicht für mich funktioniert.

Ich arbeite an einer Kreuzworträtsel-App für das iPhone. Die Fragen sind in UITextViews und ich benutze UITextFields für die Benutzereingabe jedes Buchstabens. Durch Berühren einer Frage (UITextView) wird das TextField für die erste Antwort zu FirstResponder.

Es funktioniert alles gut, aber die UITextViews sind immer noch Rechtschreibprüfung und markieren die falschen Wörter in der Frage, auch wenn ich sie UITextAutocorrectionTypeNo.

setze %Vor%

Ich rufe UITextView nicht an einem anderen Ort an.

    
Thorsten 23.07.2010, 14:01
quelle

3 Antworten

20

Ich hatte das gleiche Problem. Die Lösung ist sehr einfach, aber nicht dokumentiert: Sie können nur die Eigenschaften ändern, die im Protokoll UITextInputTraits definiert sind, während der betreffende UITextView NICHT der erste Responder ist. Die folgenden Zeilen haben es für mich behoben:

%Vor%

Hoffe das hilft jemandem.

    
Engin Kurutepe 16.05.2012 08:53
quelle
8

Ein möglicherweise hilfreicher Tipp, der aus Engin Kurutepe folgt:

Wenn Sie UITextView unterklassifiziert haben, können Sie UITextInputTraits in der Unterklassenimplementierung von becomeFirstResponder überschreiben, etwa so:

%Vor%

Es ist dann nicht nötig, resign / becomeFirstResponder explizit um deine Eigenschaften zu ändern.

    
jdc 06.03.2013 23:06
quelle
0

Ich habe eine Lösung, aber es ist nicht so, wie es sein sollte. Wenn jemand etwas besser weiß, bitte sag es mir.

Die Autokorrektur wird nach dem ersten Touch ausgeführt. Also weise ich einen neuen UITextView zu und setze ihn wie den berührten TextView. Dann ersetze ich die berührte textView durch meine neue TextView. Daher kann jede UITextView-Instanz nur einmal berührt werden und verschwindet. :)

%Vor%     
Thorsten 23.07.2010 17:41
quelle