Bagaimana Anda mengaburkan teks di bidang kata sandi di Aplikasi iPhone?

90

Saya memiliki bidang kata sandi di aplikasi saya (UITextField). Saat pengguna memasukkan teks di bidang, saya ingin *teks itu ditampilkan, bukan teks yang mereka masukkan.

Saya telah mencoba menggunakan UIControlEventEditingDidEnddari UITextFieldtetapi hanya menampilkan satu *di bagian akhir saat mengedit tetapi saya ingin menampilkannya *segera setelah teks apa pun dimasukkan, seperti di bidang kata sandi email online. Bagaimana saya bisa mendapatkan perilaku yang diinginkan?

TheNeil
sumber

Jawaban:

174

Saya tidak begitu mengerti pertanyaan Anda, tapi saya rasa Anda menginginkan UITextField yang menampilkan titik-titik untuk karakter, yang dilakukan oleh setiap bidang kata sandi di iPhone. Untuk ini, Anda ingin menyetel properti secureTextEntry dari UITextField tersebut (UITextField memiliki properti seperti itu karena sesuai dengan protokol UITextInputTraits) ke YES:

textfield.secureTextEntry = YES;
drvdijk.dll
sumber
7
Dapatkah saya mengatur Karakter lain selain titik?
Vineesh TP
154

Anda juga dapat mengatur ini di Interface Builder. Pilih kolom teks Anda, dan periksa setelan "aman" di inspektur.

pengaturan aman di Interface Builder

Nathaniel Martin
sumber
7
Sesuatu yang sederhana, namun tidak terlalu jelas.
Brian Moeskau
Terima kasih, saya biasanya tidak melihat instruksi pembuat ui.
0

Anda dapat menambahkan jalur kunci secureTextEntry jenis Boolean dan mencentangnya di Atribut waktu proses yang ditentukan pengguna di Identity Inspector.

masukkan deskripsi gambar di sini

Vivekanandan
sumber
Anda harus memilih opsi "Aman" di bawah atribut untuk menggunakan atribut runtime seperti ini.
axiixc
0

Jika Anda menggunakan Xcode versi terbaru, (versi 9), klik UITextField yang ingin Anda setel inputnya sebagai kata sandi, lalu klik inspektur atribut dan centang "Secure Text Entry".

Donna
sumber
0

Swift 3.3.0

textfield.isSecureTextEntry = true
Mike.R
sumber