iOS textField控件控制输入字符串的格式
2015-12-11 20:11
465 查看
textField.text 是当前text,不包含刚输入的string
range 是string要输入的位置
string 是刚输入的内容(可能是粘贴过来的一整段string)
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
BOOL isChange =YES;
if (textField ==self.cardInputLabel) {
//字符串删除时触发
if ([string isEqualToString:@""] && range.length >0) {
isChange =YES;
//字符串写入时触发
}else {
if (textField.text.length >19) {
isChange =NO;
}else {
//四个字符一组,限制输入字符串的总长度,并且保证从别的地方粘贴的字符串格式也统一
NSInteger loaction = textField.text.length;
NSMutableString *newText = [NSMutableString stringWithString:string];
NSMutableString *mutString = [[NSMutableString alloc] init];
for (int i =0 ,j =0; i
< newText.length && loaction + j <19; i++ , j++) {
if ((loaction + j +1) %5 ==
0) {
[mutString appendString:@" "];
j++;
}
NSRange nowRange = NSMakeRange(i,1);
[mutString appendString:[newText substringWithRange:nowRange]];
}
string = [mutString uppercaseString] ;
textField.text = [NSString stringWithFormat:@"%@%@",textField.text,string];
}
isChange =NO;
}
}
return isChange;
}
range 是string要输入的位置
string 是刚输入的内容(可能是粘贴过来的一整段string)
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
BOOL isChange =YES;
if (textField ==self.cardInputLabel) {
//字符串删除时触发
if ([string isEqualToString:@""] && range.length >0) {
isChange =YES;
//字符串写入时触发
}else {
if (textField.text.length >19) {
isChange =NO;
}else {
//四个字符一组,限制输入字符串的总长度,并且保证从别的地方粘贴的字符串格式也统一
NSInteger loaction = textField.text.length;
NSMutableString *newText = [NSMutableString stringWithString:string];
NSMutableString *mutString = [[NSMutableString alloc] init];
for (int i =0 ,j =0; i
< newText.length && loaction + j <19; i++ , j++) {
if ((loaction + j +1) %5 ==
0) {
[mutString appendString:@" "];
j++;
}
NSRange nowRange = NSMakeRange(i,1);
[mutString appendString:[newText substringWithRange:nowRange]];
}
string = [mutString uppercaseString] ;
textField.text = [NSString stringWithFormat:@"%@%@",textField.text,string];
}
isChange =NO;
}
}
return isChange;
}
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法