ซ่อนรหัสผ่านด้วย“ •••••••” ในช่องข้อความ


132

ในแอพของฉันมีฟิลด์ข้อความที่ผู้ใช้ต้องใส่คือรหัสผ่านและฉันต้องการให้เมื่อเขาป้อนอักขระมันจะเปลี่ยนเป็น '•' ฉันจะทำสิ่งนี้ได้อย่างไร?

คำตอบ:


302

คุณสามารถบรรลุสิ่งนี้ได้โดยตรงใน Xcode:

ป้อนคำอธิบายภาพที่นี่

ช่องทำเครื่องหมายสุดท้ายตรวจสอบให้แน่ใจว่าsecureได้เลือกไว้

หรือคุณสามารถทำได้โดยใช้รหัส:

ระบุว่าวัตถุข้อความควรซ่อนข้อความที่ป้อนหรือไม่

การประกาศ

optional var secureTextEntry: Bool { get set }

อภิปรายผล

คุณสมบัตินี้ถูกตั้งค่าเป็นค่าfalseเริ่มต้น การตั้งค่าคุณสมบัตินี้เพื่อtrueสร้างอ็อบเจ็กต์ข้อความสไตล์รหัสผ่านซึ่งจะซ่อนข้อความที่กำลังป้อน

ตัวอย่าง:

texfield.secureTextEntry = true

1
ใน New XCode8 ขึ้นไปเราต้องเพิ่ม secureTextEntry ในคอลัมน์แอตทริบิวต์รันไทม์
Balagurubaran


13

ใน XCode 6.3.1 หากคุณใช้ a NSTextFieldคุณจะไม่เห็นช่องทำเครื่องหมายสำหรับsecure.

แทนที่จะใช้NSTextFielduseNSSecureTextField

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

ฉันเดาว่านี่เป็นการเปลี่ยนแปลง Swift / Objective-C เนื่องจากตอนนี้มีคลาสสำหรับฟิลด์ข้อความที่ปลอดภัยแล้ว ในลิงค์ด้านบนระบุว่าAvailable in OS X v10.0 and later. หากคุณทราบข้อมูลเพิ่มเติมว่าเมื่อใด / ทำไม / เวอร์ชันใดของ Swift / Objective-C, XCode หรือ OS X นี้


สำหรับการพัฒนา MacOS นี่คือคำตอบใหม่ที่ถูกต้อง
Joseph DeCarlo

12

Swift 4 และ Xcode เวอร์ชัน 9+

สามารถตั้งค่าผ่าน "Secure Text Entry" ผ่าน Interface Builder

ตรวจสอบ Secure Text Entry ผ่านภาพหน้าจอสตอรี่บอร์ด


สวัสดีบางครั้งช่องข้อความที่ปลอดภัยจะไฮไลต์สีเหลืองพร้อมกับข้อความ "รหัสผ่านที่แข็งแกร่ง" มีวิธีแก้ไขหรือไม่?
Saravanan

1

สำหรับ SwiftUI ลอง

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

0

คุณสามารถทำได้โดยใช้คุณสมบัติของฟิลด์ข้อความจากตัวตรวจสอบคุณสมบัติ

แตะที่ Textfield ของคุณจากสตอรี่บอร์ดและไปที่ตัวตรวจสอบคุณสมบัติและทำเครื่องหมายในช่องของ "Secure Text Entry" ที่มีการเพิ่ม SS สำหรับภาพรวมแบบกราฟิกเพื่อให้บรรลุสิ่งเดียวกัน


-1

แบบเป็นโปรแกรม (Swift 4 & 5)

self.passwordTextField.isSecureTextEntry = true

1
สำหรับ swift 3 และไวยากรณ์ที่เปลี่ยนแปลงในภายหลังโปรดดูคำตอบด้านบน
mojtaba al moussawi

คำตอบของฉันคือ Swift 4
Arunabh Das

2
แน่ใจหรือว่านี่คือ Swift 4 ไม่มีคุณสมบัติหรือวิธีการที่มีชื่อว่าปลอดภัยสำหรับ textField ... สำหรับ swift 4 เราใช้ self.passwordTextField.isSecureTextEntry = true
mojtaba al moussawi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.