您的位置:首页 > 移动开发 > IOS开发

iOS TextField数字键盘的限制位数处理(特别适用于手机登陆)

2014-10-17 00:11 267 查看
Hi~大家好,这么长时间不和大家见面了,说来惭愧,最近忙于工作,已经很久没有写博客了,

接下来和大家分享一下在iOS下数字键盘限位的处理---好,废话不多说直接上代码

在用手机号登陆的时候大家有没有遇到这个问题? 就是一边想要输入到一定位数要限制输入,但是删除的时候还要能删除,今天小编遇到了这个问题,解决好半天,最终把它解决了,好了接下来给大家分享一下

相信大家都知道,输入框是用 UITextField的吧,其他的都不说了,要用textField的话实现代理方法,最重要的一点是设置他的键盘模式为数字键盘

txtField.keyboardType=UIKeyboardTypeNumberPad;

然后实现代理方法txtField.delegate = self;实现代理协议

相信大家都知道他的代理方法其中有一个是每次改变就会调用

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

if ([string isEqualToString:@""]) return YES;

if (textField.tag == TEXTFIELD_EMAIL_TAG && textField.text.length >= 11) {

// 手机号

return NO;

}else if (textField.tag == TEXTFIELD_PASSWD_TAG && textField.text.length >= 6){

// 密码

return NO;

}else{

return YES;

}

}

文中标红色的是关键点,经过小编好长时间的纠结和观察,突然发现当点击删除键的时候返回的string竟然是@"",就是抓住这一点就把问题解决了,既能限制位数,也能实现删除-------好了就到这里了要休息了,明天还要继续奋斗-------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: