如何在ios中切换隐藏和查看密码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在ios中切换隐藏和查看密码?相关的知识,希望对你有一定的参考价值。
是否有一种聪明的方法让用户在ios / iphone UITextField中隐藏和查看密码之间切换,用户可以在其中输入密码,并可以选择隐藏或查看密码。提前致谢。
答案
简单的设定
.secureTextEntry = YES
如果textField具有焦点,我认为由于一个错误(或一个功能)我不会工作。
如果textField当前是firstResponder,请使用类似的内容使其工作
-(void) toggleTextFieldSecureEntry: (UITextField*) textField {
BOOL isFirstResponder = textField.isFirstResponder; //store whether textfield is firstResponder
if (isFirstResponder) [textField resignFirstResponder]; //resign first responder if needed, so that setting the attribute to YES works
textField.secureTextEntry = !textField.secureTextEntry; //change the secureText attribute to opposite
if (isFirstResponder) [self.textField becomeFirstResponder]; //give the field focus again, if it was first responder initially
}
另一答案
- (IBAction)ShowPass:(UIButton *)sender {
if (self.password.secureTextEntry == YES) {
[self.showPass setTitle:@"HIDE" forState:(UIControlStateNormal)];
self.password.secureTextEntry = NO;
}else{
[self.showPass setTitle:@"SHOW" forState:(UIControlStateNormal)];
self.password.secureTextEntry = YES;
}
}
另一答案
马里奥的答案很好,给了我很多帮助。
但是,如果在文本字段中使用自定义字体,则从安全条目更改为纯文本后,文本字段的文本将使用错误(非自定义)字体绘制,直到用户输入另一个字符。
通过一点点破解,我能够通过模拟代码中的字符输入来解决这个问题。
这个修改过的Mario代码适用于具有自定义字体的字段:
- (void)toggleTextFieldSecureEntry:(UITextField *)textField {
BOOL isFirstResponder = textField.isFirstResponder;
if (isFirstResponder) {
[textField resignFirstResponder];
}
textField.secureTextEntry = !textField.secureTextEntry;
if (isFirstResponder) {
[textField becomeFirstResponder];
}
// When using custom font and changing from secure entry to plain text, the text is initially drawn with wrong font
// until a next character is input by user. This hack fixes the font immediatelly (simulate add and delete character)
if (!textField.isSecureTextEntry) {
[textField insertText:@"x"];
[textField deleteBackward];
}
}
另一答案
你可以使用secureTextEntry
的UITextField
属性。当你想隐藏(为每个角色显示点)你可以使用yourTextField.secureTextEntry=YES;
当你想显示密码时使用yourTextField.secureTextEntry=NO;
另一答案
对于Swift,只有赋值从YES / NO变为true / false布尔值。
password.secureTextEntry = true //Visible
password.secureTextEntry = false //InVisible
以上是关于如何在ios中切换隐藏和查看密码?的主要内容,如果未能解决你的问题,请参考以下文章