Có thể thay đổi ký tự mật khẩu bảo mật được hiển thị không?thay đổi ký tự bảo mật trong UITextfield
Trả lời
Giả sử Bobby B là đúng ở chỗ nó là không thể thay đổi nhân vật bí mật,
Tôi xin trình bày,
không có guarantuee nào và với tất cả các cảnh báo được áp dụng,
vì đây là một khủng khiếp kludge mà chắc chắn sẽ cung cấp cho bạn đau đầu ở một số điểm,
hy vọng không bị downvoted quá nhiều cho nó:
/* don't ever use this PROOF OF CONCEPT CODE for production use */
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (self.backing == nil) self.backing = @"";
static BOOL pasting = false;
if (!pasting)
{
self.backing = [self.backing stringByReplacingCharactersInRange:range withString:string];
NSLog(@"backing: %@",self.backing);
if ([string length] == 0) return YES; // early bail out when just deleting chars
NSString *sec = @"";
for (int i=0;i<[string length]; i++) sec = [sec stringByAppendingFormat:@"■"];
pasting = true;
[[UIPasteboard generalPasteboard] setString:sec];
[textField paste:self];
return NO;
} else {
pasting = false;
return YES;
}
}
/* you have been warned */
Đặt đại biểu UITextField
của bạn cho lớp chứa hàm này.
Chỉ cần đảm bảo bạn có self.backing
được giữ lại NSString*
. Bản sao & dán kludge là cần thiết để duy trì vị trí con trỏ.
Tôi không biết gì về dán, đây là một dự đoán hoang dã và nó hoạt động, nhưng bạn cần phải tìm hiểu xem điều này có thể dẫn đến một số vấn đề trong khía cạnh đó. Tôi đã thử nghiệm một chút và dường như không có vấn đề gì.
Rất có khả năng không tự động và chắc chắn bàn phím quốc tế (đặc biệt, tự động chỉnh sửa dường như không gọi textField: shouldChangeCharactersInRange :). –
Tôi nghĩ rằng tự động cho mục nhập an toàn là một ý tưởng tồi anyway ;-) và tôi nghĩ rằng nó gọi là 'shouldChangeCharactersInRange', IIRC từ một dự án với đầu vào có giới hạn chiều rộng pixel. – mvds
cảm ơn. Đó có nên thay đổi nhân vật không? có vi phạm nguyên tắc UI UI không? – thndrkiss
Tôi không nghĩ rằng điều này là có thể và tôi dựa vào việc thiếu tài liệu được tìm thấy trong tài liệu cho UITextInputTraits (dành riêng cho secureTextEntry).
Có thể là sai mặc dù - quan tâm để nghe nếu ai đó đã làm điều này trước đây.
Chúc may mắn!
Bạn cũng có thể chỉ cần thay đổi font ...
Nếu bạn thay đổi các ký tự unicode 'BULLET' (U + 2022) bạn có thể tùy chỉnh nhân vật bí mật. Có rất nhiều trình soạn thảo phông chữ miễn phí trên mạng. tôi sử dụng này một http://www.cr8software.net/typex.html
Để thêm phông chữ tùy chỉnh để dự án của bạn, hãy kiểm tra - this link
Đó là khá dễ dàng
Sau đó, bạn không cần phải mã hóa bất cứ điều gì nó chỉ hoạt động.
Đơn giản, cho phép Thuộc tính an toàn trong IB hoặc qua chương trình.
- 1. Bảo mật Android Thay đổi UID
- 2. Thay đổi cấu hình Bảo mật mùa xuân
- 3. Thay đổi ngữ cảnh bảo mật cho cuộc gọi phương thức với bảo mật mùa xuân
- 4. Thay đổi UITextField BorderStyle trong didEndEditing
- 5. Buộc người dùng thay đổi mật khẩu đã hết hạn trong bảo mật mùa xuân
- 6. Thay đổi màu của UITableViewCellAccessoryCheckmark và UITextField
- 7. Bảo mật phiên?
- 8. Bảo mật trong backbone.js?
- 9. Thay đổi màu của con trỏ trong UITextField
- 10. thay đổi ký tự đầu tiên trong một lĩnh vực
- 11. ký tự thay đổi trong yêu cầu Curl
- 12. Thay đổi ký tự đệm mặc định trong printf Java?
- 13. Thay đổi ký tự ổ đĩa trong NERDtree
- 14. cách thay đổi ký tự case thành Upper trong NSAttributedString
- 15. Thay đổi màu của các ký tự trong khoảng trắng
- 16. Chuỗi bảo mật trong APK
- 17. Truy cập Bảo mật Đăng ký bị từ chối. C#
- 18. Lỗi bảo vệ trong khi tạo APK được ký bảo mật
- 19. Bảo mật danh bạ
- 20. Đăng nhập tự động với bảo mật mùa xuân
- 21. Phiên bảo mật Java
- 22. Phát hiện thay đổi tiêu điểm cho UITextField
- 23. Bảo mật mật khẩu trong tập tin thuộc tính
- 24. Ứng dụng tự khởi động lại khi phát hiện thay đổi đối với cài đặt bảo mật
- 25. Thay đổi nền UITextField khi chỉnh sửa bắt đầu
- 26. Thay đổi mật khẩu trong Django quản
- 27. Thay đổi mật khẩu SSH trong Git
- 28. Thứ tự bảo mật của Spring Security 3.0 là
- 29. Bảo mật Mongodb trong node.js
- 30. bảo mật CakePHP
xem http://stackoverflow.com/questions/24531274/how-do-i-stop-uitextfield-secure-text-showing-characters/29944670#29944670 – the1pawan