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ć?
135
Możesz to osiągnąć bezpośrednio w Xcode:
Ostatnie pole wyboru, upewnij się, że secure
jest 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 false
domyślnie. Ustawienie tej właściwości na true
powoduje utworzenie obiektu tekstowego w stylu hasła, który ukrywa wprowadzany tekst.
przykład:
texfield.secureTextEntry = true
w wersji Swift 3.0 lub nowszej
passwordTextField.isSecureTextEntry = true
źródło
W XCode 6.3.1, jeśli używasz a
NSTextField
, nie zobaczysz pola wyboru dlasecure
.Zamiast używać
NSTextField
useNSSecureTextField
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źródło
Swift 4 i Xcode w wersji 9+
Można ustawić za pomocą funkcji „Bezpieczne wprowadzanie tekstu” w programie Interface Builder
źródło
W przypadku SwiftUI spróbuj
TextField ("Email", text: $email) .textFieldStyle(RoundedBorderTextFieldStyle()).padding() SecureField ("Password", text: $password) .textFieldStyle(RoundedBorderTextFieldStyle()).padding()
źródło
Możesz to zrobić, używając właściwości pola tekstowego z Inspektora atrybutów
Stuknij w Twoje pole tekstowe w scenorysie i przejdź do Inspektora atrybutów i po prostu zaznacz pole wyboru „Bezpieczne wprowadzanie tekstu” SS jest dodawane do graficznego przeglądu, aby osiągnąć to samo
źródło
Programowo (Swift 4 i 5)
self.passwordTextField.isSecureTextEntry = true
źródło