Ukryj hasło za pomocą „•••••••” w polu tekstowym


135

W mojej aplikacji jest pole tekstowe, w którym użytkownik musi wpisać hasło i chcę, aby po wprowadzeniu znaku zmieniło go na „•”. Jak mogę to zrobić?

Odpowiedzi:


308

Możesz to osiągnąć bezpośrednio w Xcode:

wprowadź opis obrazu tutaj

Ostatnie pole wyboru, upewnij się, że securejest zaznaczone.

Lub możesz to zrobić za pomocą kodu:

Określa, czy obiekt tekstowy powinien ukrywać wprowadzany tekst.

Deklaracja

optional var secureTextEntry: Bool { get set }

Dyskusja

Ta właściwość jest ustawiona falsedomyślnie. Ustawienie tej właściwości na truepowoduje utworzenie obiektu tekstowego w stylu hasła, który ukrywa wprowadzany tekst.

przykład:

texfield.secureTextEntry = true

1
W nowym XCode8 i nowszych musimy dodać secureTextEntry w kolumnie atrybutu runtime
Balagurubaran


13

W XCode 6.3.1, jeśli używasz a NSTextField, nie zobaczysz pola wyboru dla secure.

Zamiast używać NSTextFielduseNSSecureTextField

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSSecureTextField_Class/index.html

Zgaduję, że jest to zmiana Swift / Objective-C, ponieważ jest teraz klasa dla bezpiecznych pól tekstowych. W powyższym linku jest napisane, że Available in OS X v10.0 and later. jeśli wiesz więcej o tym, kiedy / dlaczego / jakie wersje Swift / Objective-C, XCode lub OS X to


Dla rozwoju MacOS jest to nowa poprawna odpowiedź
Joseph DeCarlo

13

Swift 4 i Xcode w wersji 9+

Można ustawić za pomocą funkcji „Bezpieczne wprowadzanie tekstu” w programie Interface Builder

Bezpieczne wprowadzanie tekstu sprawdzane za pomocą zrzutu ekranu scenorysu


Cześć, Czasami bezpieczne pole tekstowe jest podświetlane na żółto i zawiera błąd „Silne hasło”. Czy jest jakieś rozwiązanie?
Saravanan,

1

W przypadku SwiftUI spróbuj

TextField ("Email", text: $email)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()
SecureField ("Password", text: $password)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()


-1

Programowo (Swift 4 i 5)

self.passwordTextField.isSecureTextEntry = true

1
Dla Swift 3 i późniejszych składnia została zmieniona, zapoznaj się z odpowiedziami powyżej.
mojtaba al moussawi

Moja odpowiedź brzmi: Swift 4
Arunabh Das

2
Czy na pewno jest to Swift 4? Nie ma właściwości ani metody o nazwie secure dla textField ... dla swift 4 używamy self.passwordTextField.isSecureTextEntry = true
mojtaba al moussawi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.