คุณปิดบังข้อความในช่องรหัสผ่านในแอปพลิเคชัน iPhone ได้อย่างไร


90

ฉันมีฟิลด์รหัสผ่านในแอปพลิเคชันของฉัน (UITextField) เมื่อผู้ใช้ป้อนข้อความในช่องฉันต้องการให้แสดง*แทนข้อความที่ป้อน

ฉันได้พยายามใช้UIControlEventEditingDidEndของUITextFieldแต่มันแสดงให้เห็นว่าหนึ่ง*ในตอนท้ายเมื่อมีการแก้ไข แต่ฉันต้องการให้แสดง*s เร็วที่สุดเท่าที่ข้อความใด ๆ ที่จะเข้ามาเหมือนในฟิลด์รหัสผ่านอีเมลออนไลน์ใด ๆ ฉันจะได้รับพฤติกรรมที่ต้องการได้อย่างไร?

คำตอบ:


174

ฉันไม่เข้าใจคำถามของคุณจริงๆ แต่ฉันเดาว่าคุณต้องการ UITextField ที่แสดงจุดสำหรับอักขระซึ่งทุกช่องรหัสผ่านบน iPhone ทำ สำหรับสิ่งนี้คุณต้องการตั้งค่าคุณสมบัติ secureTextEntry ของ UITextField นั้น (UITextField มีคุณสมบัติดังกล่าวเพราะสอดคล้องกับโปรโตคอล UITextInputTraits) เป็น YES:

textfield.secureTextEntry = YES;

7
ฉันสามารถตั้งค่าอักขระอื่นแทนจุดได้หรือไม่?
Vineesh TP

154

คุณยังสามารถตั้งค่านี้ได้ในตัวสร้างอินเทอร์เฟซ เลือกช่องข้อความของคุณและตรวจสอบการตั้งค่า "ปลอดภัย" ในตัวตรวจสอบ

การตั้งค่าที่ปลอดภัยใน Interface Builder


7
เป็นสิ่งที่เรียบง่าย แต่ยังไม่ชัดเจนนัก
Brian Moeskau

ขอบคุณฉันมักจะไม่เห็นคำแนะนำในการสร้าง UI

0

คุณสามารถเพิ่มคีย์พา ธ secureTextEntry ประเภทบูลีนและทำเครื่องหมายในแอ็ตทริบิวต์รันไทม์ที่ผู้ใช้กำหนดใน Identity Inspector

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


คุณควรเลือกตัวเลือก "ปลอดภัย" ภายใต้แอตทริบิวต์ในการใช้แอตทริบิวต์รันไทม์เช่นนี้
axiixc

0

หากคุณใช้ Xcode เวอร์ชันล่าสุด (เวอร์ชัน 9) ให้คลิกที่ UITextField ที่คุณต้องการตั้งค่าอินพุตเป็นรหัสผ่านจากนั้นคลิกตัวตรวจสอบคุณสมบัติและเลือก "Secure Text Entry"


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.