TextField
TextField copied to clipboard
textField中输入身份证号,手机号,银行卡号时每隔几位需要添加空格。当输入错误时需要从末尾或者中间删除,删除之后还要保持当前textfield的中内容保持每隔几位就有一个空格的格式。这个分类主要是为了解决这个问题
重现步骤: 1、手机格式 2、复制粘贴4个数字到 textfield,光标的位置在第四位(空格后面),应该在第五位。 PS:手机格式的数组应该是@[@3,@8]
光标位置错乱
同一个输入框可以输入手机号或者用户名, 手机号需要格式化, 用户名不用格式化, 所以我用了个正则来做判断, 但是当我输入用户名13579abc的时候, 光标位置错乱了, 代理方法中的代码如下: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"^1[3-9][0-9]{1,9}$"]; NSString *text = [textField.text stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([predicate evaluateWithObject:text]) { return [UITextField inputTextField:textField shouldChangeCharactersInRange:range...