2009-07-15 8 views
89

Ich habe ein Passwort-Feld in meiner Anwendung (UITextField). Wenn der Benutzer Text in das Feld eingibt, möchte ich anstelle des eingegebenen Textes * anzeigen.Wie verdecken Sie Text in einem Passwortfeld in einer iPhone-Anwendung?

Ich habe versucht, mit dem UIControlEventEditingDidEnd von UITextField aber es zeigt nur ein * am Ende bei der Bearbeitung, aber ich will es die so bald s * anzuzeigen, wie ein beliebiger Text eingegeben wird, wie in jedem Online-E-Mail-Passwort-Feld. Wie kann ich das gewünschte Verhalten erzielen?

Antwort

174

Ich verstehe Ihre Frage nicht wirklich, aber ich vermute, Sie wollen ein UITextField, das Punkte für die Zeichen anzeigt, die jedes Passwortfeld auf dem iPhone tut. Dazu möchten Sie die secureTextEntry Eigenschaft dieses UITextField einzustellen (UITextField hat eine solche Eigenschaft, weil sie dem UITextInputTraits Protokoll entspricht) auf YES:

textfield.secureTextEntry = YES; 

HTH

+7

Kann ich andere Zeichen statt Punkte setzen? –

153

Sie auch diese im Interface Builder festlegen . Wählen Sie Ihr Textfeld aus und überprüfen Sie die Einstellung "Sicher" im Inspektor.

secure setting in Interface Builder

+7

Solch eine einfache Sache, aber nicht sehr offensichtlich. –

+0

Danke, ich sehe normalerweise keine Bauanleitung. –

0

Sie können einen Schlüsselpfad secureTextEntry vom Typ Boolean und kreuzen sie in der Benutzerdefinierte Laufzeit im Identity Inspector Attribute hinzufügen.

enter image description here

+0

Sie sollten die Option "Secure" unter Attributen für die Verwendung von Laufzeitattributen wie diesem bevorzugen. – axiixc

0

Wenn Sie die neueste Version von Xcode verwenden, (Version 9), klicken Sie auf die UITextField, dass Sie die Eingabe als Kennwort festlegen möchten, dann auf den Inspektor Attribute klicken und überprüfen Sie „Sichere Texteingabe ".

Verwandte Themen