前言:
在APP开发中,对于绝大多数应用密码设置是必不可免的,今天和大家分享一下我做的一个关于密码设置的dome,和大家一起探讨学习。我们先来看张图片:
这张图片我们可以看到通过点击“显示密码”可以显示密码,或隐藏密码,通过输入框后面的按钮可以一键清空输入框,对两次新输入的密码本地验证,以及button是否变为高亮的判断。
一、显示或隐藏密码。
UITextField在初始化的时候将默认密码输入:
textField.secureTextEntry = YES;
初始化一个Button按钮,添加点击事件。初始化一个BOOL,通过BOOL值判断是否被点击,显示或隐藏密码:
- (void)action_hideBUtton:(UIButton *)sender{
_hide = !_hide;
if (_hide == YES) {
_oldField.secureTextEntry = NO;
}else{
_oldField.secureTextEntry = YES;
}
}
二、UITextField输入框内容一键清空
//输入框中是否有个叉号,在什么时候显示,用于一次性删除输入框中的内容
_oldField.clearButtonMode = UITextFieldViewModeWhileEditing;
按住command键点击clearButtonMode 进入我们可以看到它有多重属性,我们这里选择编辑是出现。
typedef enum {
UITextFieldViewModeNever, 重不出现
UITextFieldViewModeWhileEditing, 编辑时出现
UITextFieldViewModeUnlessEditing, 除了编辑外都出现
UITextFieldViewModeAlways 一直出现
} UITextFieldViewMode
三、对两次输入的密码进行本地验证
我们在设置新的密码的时候,通常是要在本地连续输入两次,确定两次输入的密码是否相同是通过本地验证完成的。这时候我们只需要初始化两个NSString,将两次输入的密码进行验证,便可以做出判断
_oneString = _oneField.text;
_twoString = _twoField.text;
BOOL dog = [_oneString isEqual:_twoString];
if (dog == YES) {
NSLog(@"密码可用");
}else{
NSLog(@"亲,两次密码不相同");
}
四、UIbutton是否变为高亮的判断
我们再输入密码的时候,只有三个输入框都输入完成了,我们才让"确认"按钮,变为高亮,可以操作。
首先在textfield里面添加点击事件:
[_twoField addTarget:self action:@selector(action_text) forControlEvents:UIControlEventEditingChanged];
实现点击事件,并根据字符串长度作出判断,字符串长度都大于零的时候,让button改变颜色,同时button也可以操作,否则不能点击:
- (void)action_text{
if (_oldField.text.length > 0 && _oneField.text.length > 0 && _twoField.text.length >0) {
_loginButton.backgroundColor = GetColor(92, 178, 135, 1);
_loginButton.enabled = YES;
_Open = YES;
}else{
_loginButton.backgroundColor = [UIColor lightGrayColor];
_loginButton.enabled = YES;
_Open = NO;
}
}
以上是我在写密码验证界面时,总结的一些小窍门,希望可以帮助到你。
附上完整Dome连接:http://code.cocoachina.com/view/133093
网友评论