Bir textField içinde "•••••••" ile şifreyi gizleyin


132

Uygulamamda kullanıcının girmesi gereken bir textField var ve şifre giriyor ve bir karakter girdiğinde bunu '•' olarak değiştirmesini istiyorum bunu nasıl yapabilirim?

Yanıtlar:


302

Bunu doğrudan Xcode'da gerçekleştirebilirsiniz:

görüntü açıklamasını buraya girin

En son onay kutusu, işaretlendiğinden emin olun secure.

Veya kodu kullanarak yapabilirsiniz:

Metin nesnesinin girilen metni gizlemesi gerekip gerekmediğini belirler.

deklarasyon

optional var secureTextEntry: Bool { get set }

Tartışma

Bu özellik falsevarsayılan olarak ayarlanmıştır . Bu özellik ayarlanıyortrue , girilen metni gizleyen parola stilinde bir metin nesnesi oluşturur.

misal:

texfield.secureTextEntry = true

1
Yeni XCode8 ve üzerinde çalışma zamanı öznitelik sütununa
secureTextEntry eklemeliyiz


13

XCode 6.3.1'de, bir kullanıyorsanız, NSTextFieldiçin onay kutusunu görmezsiniz.secure .

Bunun yerine kullanmanın NSTextFieldkullanımınıNSSecureTextField

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

Sanırım bu bir Swift / Objective-C değişikliği çünkü artık güvenli metin alanları için bir sınıf var. Yukarıdaki bağlantıda Available in OS X v10.0 and later. Swift / Objective-C, XCode veya OS X'in ne zaman / neden / hangi sürümleri hakkında daha fazla şey biliyorsanız,


MacOS geliştirme için bu yeni doğru cevaptır
Joseph DeCarlo

12

Swift 4 ve Xcode Sürüm 9+

Arayüz Oluşturucu aracılığıyla "Güvenli Metin Girişi" aracılığıyla ayarlanabilir

Güvenli Metin Girişi, film şeridi ekran görüntüsü ile kontrol edildi


Merhaba, Bazen güvenli metin alanı sarıyı "Güçlü Parola" hatasıyla vurgular, Herhangi bir çözüm var mı?
Saravanan

1

SwiftUI için deneyin

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


-1

Programlı olarak (Swift 4 ve 5)

self.passwordTextField.isSecureTextEntry = true

1
Swift 3 ve sonrası için sözdizimi değiştirildi, yukarıdaki yanıtlara bakın.
mojtaba al moussawi

Cevabım Swift 4 için
Arunabh Das

2
Bunun Swift 4 olduğundan emin misin? TextField için güvenli adında bir özellik veya yöntem yok ... hızlı 4 için self.passwordTextField.isSecureTextEntry = true
mojtaba al moussawi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.