Làm cách nào để làm mờ văn bản trong trường mật khẩu trong Ứng dụng iPhone?


90

Tôi có một trường mật khẩu trong ứng dụng của mình (UITextField). Khi người dùng nhập văn bản vào trường, tôi muốn nó hiển thị *thay vì văn bản họ đã nhập.

Tôi đã thử sử dụng UIControlEventEditingDidEndof UITextFieldnhưng nó chỉ hiển thị một *ở cuối khi chỉnh sửa nhưng tôi muốn nó hiển thị *s ngay khi nhập bất kỳ văn bản nào, giống như trong bất kỳ trường mật khẩu email trực tuyến nào. Làm thế nào tôi có thể có được hành vi mong muốn?

Câu trả lời:


174

Tôi không thực sự hiểu câu hỏi của bạn, nhưng tôi đoán bạn muốn một UITextField hiển thị các dấu chấm cho các ký tự, điều mà mọi trường mật khẩu trên iPhone đều có. Đối với điều này, bạn muốn đặt thuộc tính secureTextEntry của UITextField đó (UITextField có thuộc tính như vậy vì nó tuân theo giao thức UITextInputTraits) thành CÓ:

textfield.secureTextEntry = YES;

7
Tôi có thể đặt các Ký tự khác thay vì dấu chấm không?
Vineesh TP

154

Bạn cũng có thể đặt điều này trong Trình tạo giao diện. Chọn trường văn bản của bạn và kiểm tra cài đặt "an toàn" trong trình kiểm tra.

cài đặt bảo mật trong Trình tạo giao diện


7
Một điều đơn giản như vậy, nhưng không phải là rất rõ ràng.
Brian Moeskau

Cảm ơn, tôi thường không xem hướng dẫn về trình tạo ui.

0

Bạn có thể thêm một đường dẫn khóa secureTextEntry kiểu Boolean và đánh dấu nó trong các thuộc tính thời gian chạy do Người dùng xác định trong Trình kiểm tra danh tính.

nhập mô tả hình ảnh ở đây


Bạn nên thích tùy chọn "Bảo mật" trong các thuộc tính hơn là sử dụng các thuộc tính thời gian chạy như thế này.
axiixc

0

Nếu bạn đang sử dụng phiên bản Xcode mới nhất, (phiên bản 9), hãy nhấp vào UITextField mà bạn muốn đặt đầu vào làm mật khẩu, sau đó nhấp vào trình kiểm tra thuộc tính và chọn "Nhập văn bản an toàn".


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.