在iOS上设置密码或更改密码时的遇到的几个小问题

前言:

         在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

你可能感兴趣的:(在iOS上设置密码或更改密码时的遇到的几个小问题)