In meiner App gibt es ein Textfeld, in das der Benutzer ein Passwort eingeben muss, und ich möchte, dass es bei der Eingabe eines Zeichens in '•' geändert wird. Wie kann ich das tun?
132
Sie können dies direkt in Xcode erreichen:
Stellen Sie sicher, dass das allerletzte Kontrollkästchen aktiviert secure
ist.
Oder Sie können es mit Code tun:
Gibt an, ob das Textobjekt den eingegebenen Text verbergen soll.
Erklärung
optional var secureTextEntry: Bool { get set }
Diskussion
Diese Eigenschaft ist false
standardmäßig aktiviert. Wenn Sie diese Eigenschaft so true
einstellen, dass ein Textobjekt im Kennwortstil erstellt wird, wird der eingegebene Text ausgeblendet.
Beispiel:
texfield.secureTextEntry = true
in Swift 3.0 oder höher
quelle
Wenn Sie in XCode 6.3.1 a verwenden,
NSTextField
wird das Kontrollkästchen für nicht angezeigtsecure
.Anstatt Verwendung zu
NSTextField
verwendenNSSecureTextField
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSSecureTextField_Class/index.html
Ich vermute, dies ist eine Swift / Objective-C-Änderung, da es jetzt eine Klasse für sichere Textfelder gibt. Im obigen Link heißt es,
Available in OS X v10.0 and later.
wenn Sie mehr darüber wissen, wann / warum / welche Versionen von Swift / Objective-C, XCode oder OS X diesquelle
Swift 4 und Xcode Version 9+
Kann über "Secure Text Entry" über Interface Builder eingestellt werden
quelle
Versuchen Sie es mit SwiftUI
quelle
Sie können dies tun, indem Sie die Eigenschaften des Textfelds aus dem Attributinspektor verwenden
Tippen Sie im Storyboard auf Ihr Textfeld, gehen Sie zum Attributinspektor und aktivieren Sie das Kontrollkästchen "Sichere Texteingabe". SS wird hinzugefügt, um eine grafische Übersicht zu erhalten
quelle
Programmatisch (Swift 4 & 5)
quelle