Ẩn mật khẩu với Tiếng chuông ••••••• trong một textField


132

Trong ứng dụng của tôi có một textField nơi người dùng phải đặt mật khẩu và tôi muốn rằng khi anh ta nhập một ký tự, nó sẽ thay đổi thành '•' làm thế nào tôi có thể làm điều này?

Câu trả lời:


302

Bạn có thể đạt được điều này trực tiếp trong Xcode:

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

Các hộp kiểm cuối cùng, chắc chắn secuređược kiểm tra.

Hoặc bạn có thể làm điều đó bằng cách sử dụng mã:

Xác định xem đối tượng văn bản có nên ẩn văn bản được nhập không.

Tờ khai

optional var secureTextEntry: Bool { get set }

Thảo luận

Thuộc tính này được đặt thành falsetheo mặc định. Đặt thuộc tính này để truetạo một đối tượng văn bản kiểu mật khẩu, ẩn văn bản được nhập.

thí dụ:

texfield.secureTextEntry = true

1
Trong XCode8 mới trở lên, chúng ta phải thêm SecureTextEntry trong cột thuộc tính thời gian chạy
Balagurubaran


13

Trong XCode 6.3.1, nếu bạn sử dụng, NSTextFieldbạn sẽ không thấy hộp kiểm cho secure.

Thay vì sử NSTextFielddụngNSSecureTextField

https://developer.apple.com

Tôi đoán đây là một thay đổi Swift / Objective-C vì hiện tại đã có một lớp cho các trường văn bản an toàn. Trong liên kết trên có ghi Available in OS X v10.0 and later. Nếu bạn biết thêm về thời điểm / tại sao / phiên bản nào của Swift / Objective-C, XCode hoặc OS X này


Đối với sự phát triển của MacOS, đây là câu trả lời đúng mới
Joseph DeCarlo

12

Swift 4 và Xcode Phiên bản 9+

Có thể được đặt qua "Nhập văn bản an toàn" qua Trình tạo giao diện

Nhập văn bản an toàn được kiểm tra thông qua ảnh chụp màn hình bảng phân cảnh


Xin chào, Đôi khi trường văn bản an toàn làm nổi bật màu vàng với lỗi văn bản "Mật khẩu mạnh", Có giải pháp nào không?
Saravanan

1

Đối với SwiftUI, hãy thử

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


-1

Lập trình (Swift 4 & 5)

self.passwordTextField.isSecureTextEntry = true

1
Đối với swift 3 và sau đó cú pháp đã được thay đổi, hãy tham khảo các câu trả lời ở trên.
mojtaba al moussawi

Câu trả lời của tôi là dành cho Swift 4
Arunabh Das

2
Bạn có chắc chắn rằng đây là Swift 4? Không có thuộc tính hoặc phương thức nào được đặt tên an toàn cho textField ... cho swift 4, chúng tôi sử dụng self.passwordTextField.isSecureTextEntry = true
mojtaba al moussawi
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.