ในแอพของฉันมีฟิลด์ข้อความที่ผู้ใช้ต้องใส่คือรหัสผ่านและฉันต้องการให้เมื่อเขาป้อนอักขระมันจะเปลี่ยนเป็น '•' ฉันจะทำสิ่งนี้ได้อย่างไร?
ในแอพของฉันมีฟิลด์ข้อความที่ผู้ใช้ต้องใส่คือรหัสผ่านและฉันต้องการให้เมื่อเขาป้อนอักขระมันจะเปลี่ยนเป็น '•' ฉันจะทำสิ่งนี้ได้อย่างไร?
คำตอบ:
คุณสามารถบรรลุสิ่งนี้ได้โดยตรงใน Xcode:
ช่องทำเครื่องหมายสุดท้ายตรวจสอบให้แน่ใจว่าsecure
ได้เลือกไว้
หรือคุณสามารถทำได้โดยใช้รหัส:
ระบุว่าวัตถุข้อความควรซ่อนข้อความที่ป้อนหรือไม่
การประกาศ
optional var secureTextEntry: Bool { get set }
อภิปรายผล
คุณสมบัตินี้ถูกตั้งค่าเป็นค่าfalse
เริ่มต้น การตั้งค่าคุณสมบัตินี้เพื่อtrue
สร้างอ็อบเจ็กต์ข้อความสไตล์รหัสผ่านซึ่งจะซ่อนข้อความที่กำลังป้อน
ตัวอย่าง:
texfield.secureTextEntry = true
ใน Swift 3.0 หรือใหม่กว่า
passwordTextField.isSecureTextEntry = true
ใน XCode 6.3.1 หากคุณใช้ a NSTextField
คุณจะไม่เห็นช่องทำเครื่องหมายสำหรับsecure
.
แทนที่จะใช้NSTextField
useNSSecureTextField
ฉันเดาว่านี่เป็นการเปลี่ยนแปลง Swift / Objective-C เนื่องจากตอนนี้มีคลาสสำหรับฟิลด์ข้อความที่ปลอดภัยแล้ว ในลิงค์ด้านบนระบุว่าAvailable in OS X v10.0 and later.
หากคุณทราบข้อมูลเพิ่มเติมว่าเมื่อใด / ทำไม / เวอร์ชันใดของ Swift / Objective-C, XCode หรือ OS X นี้
สำหรับ SwiftUI ลอง
TextField ("Email", text: $email)
.textFieldStyle(RoundedBorderTextFieldStyle()).padding()
SecureField ("Password", text: $password)
.textFieldStyle(RoundedBorderTextFieldStyle()).padding()
คุณสามารถทำได้โดยใช้คุณสมบัติของฟิลด์ข้อความจากตัวตรวจสอบคุณสมบัติ
แตะที่ Textfield ของคุณจากสตอรี่บอร์ดและไปที่ตัวตรวจสอบคุณสมบัติและทำเครื่องหมายในช่องของ "Secure Text Entry" ที่มีการเพิ่ม SS สำหรับภาพรวมแบบกราฟิกเพื่อให้บรรลุสิ่งเดียวกัน
แบบเป็นโปรแกรม (Swift 4 & 5)
self.passwordTextField.isSecureTextEntry = true