2016-04-19 6 views
0

Ich habe ein UITextField erstellt und seine clearsOnBeginEditing auf true gesetzt. Aber nach dem manuellen Aufruf von findResponse() wird diese Eigenschaft gelöscht.
Ich konnte dieses Problem umgehen, indem Sie textField.clearsOnBeginEditing = true in textFieldShouldBeginEditing setzen.
Meine Frage ist, warum es diese Eigenschaft verliert. Und ob meine Problemumgehung ein guter Ansatz ist.UITextField verliert clearsOnBeginEditing

Antwort

0

Wenn Sie resignfirstresponder das heißt inputview von Textfeld werden nil. Wenn Sie becomefirstresonder aufrufen, dann erstellen Sie eine neue Instanz und weisen sie diesem Textfeld zu. also werden alle Einstellungen neu generiert. hoffen, dass diese :)

0

textField.clearsOnBeginEditing = true; hinzufügen helfen, nachdem Sie textField.becomeFirstResponder();

nennen es besser ist [email protected]"" in textFieldShouldBeginEditing zu verwenden, als textField.clearsOnBeginEditing = true in textFieldShouldBeginEditing

+0

Hinzufügen von 'textField.clearsOnBeginEditing = true' nach dem Aufruf von' textField.becomeFirstResponder mit() 'doesn ändere nichts. Und warum wird der Text manuell gelöscht? – Torbilicious

+0

Sie versuchen, die Eigenschaft clearsOnBeginEditing jedes Mal festzulegen, wenn Sie mit der Bearbeitung beginnen (textFieldShouldBeginEditing). Das ist kein guter Weg. – Neenu

+0

Gibt es keine Möglichkeit das Textfeld die Eigenschaft zu behalten? Sonst sehe ich nicht den Grund, solch eine Eigenschaft zu haben. – Torbilicious