2016-12-28 3 views
1

Ich habe eine Benutzeroberfläche, die ein Passwort-Eingabefeld und eine Schaltfläche zum Ein-/Ausblenden enthält. Ein Tester hat auf das folgende inkonsistente Verhalten hingewiesen.Passwort Textfeld wird beim Umschalten freigegeben/Passwort anzeigen Schaltfläche

Wenn das Passwort versteckt und halb eingetippt ist (zB "abc") und der Benutzer die Umschalttaste drückt, um das Passwort anzuzeigen und weiter tippt, werden die neuen Zeichen (zB "def") am Ende der Zeile hinzugefügt erster Eintrag (macht "abcdef"). Alles gut und gut.

Wenn jedoch das Passwort angezeigt und halb eingegeben wird (zB "abc") und der Benutzer die Umschalttaste drückt, um das Passwort auszublenden und weiter zu tippen, ersetzen die neuen Zeichen (zB "def") die ursprüngliche Eingabe (machen "def"). Der Ein-/Ausblendung-Schalter zeigt also nicht nur den Text an oder verbirgt ihn, sondern ändert auch das Verhalten des UITextField (anhängen/löschen und neu beginnen), wenn das nächste Zeichen eingegeben wird.

Warum passiert das?

+0

Bitte schreiben Sie den Code, den Sie verwenden. – SNarula

+0

Bitte teilen Sie einige Code davon –

+0

Es gibt keine Notwendigkeit, den Code zu sehen, um zu sehen, was passiert als [Dheeraj D] (http://StackOverflow.com/a/41359943/2305521) sagte. – fpg1503

Antwort

1

Richtig ist es ein normales Verhalten von UITextField und Sie können diese mit Hilfe beheben:

textField.clearsOnBeginEditing = NO; 

Oder in Swift:

textField.clearsOnBeginEditing = false 

Aber es wird nicht funktionieren, wenn Sie für Passwort sicher Text verwenden.

Siehe Einer der Antwort:

Secure UITextField Answer

0

Sie können Realisierung der Effekt, den Sie durch Ihre Meinung ändern möchten.

können Sie eine NSString init * PWD das Kennwort des Benutzers, wenn der Benutzer del zu speichern oder Passwort ersetzen, können Sie Ihre pwd Wert ändern, stellen Sie sicher, getippt Passwort Ihre pwd immer gleich Benutzers.

Wenn Benutzer auf die Umschaltfläche klicken, wird der Wert pwd im Textfeld angezeigt.

Verwandte Themen