iOS开发之UITextFeild限制位数
分享的内容,大家看了后,不管有什么问题或者建议,都可以说出来,我都会一一做答,一起加油啦
1.很多人可能会使用. 下面这种方法, 会发现输入中文时,在对输入键盘的上方字没有约束.
// 限制位数只能是12位
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([textField isEqual:_lockNameTF]) {
if (range.location >= 12) {
return NO;
} else {
return YES;
}
}
if ([textField isEqual:_lockPwd]) {
NSLog(@"------%@",_lockPwd.text);
if (range.location >= 8) {
return NO;
} else {
return YES;
}
}
return YES;
}
////// 2.最好是采取下面一种方法
// 1. 添加观察者
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldTextDidChange) name:UITextFieldTextDidChangeNotification object:tf];
/// 2.方法
- (void)textFieldTextDidChange
{
if(_familyPwd.text.length > 8 ){
NSRange range = NSMakeRange(0, 8);
_familyPwd.text = [_familyPwd.text substringWithRange:range];
[self endEditing:YES];
}
}
- (BOOL)endEditing:(BOOL)force {
return YES;
}