在iOS开发过程中,经常会遇到需要计算字符串长度的功能,比如注册。
在计算字符串长度的时候要考虑到有两种情况:
- 刚开始输入,输入完成然后提交
- 需要改动,这时要计算光标前后字符串的长度
功能很简单,直接上代码:
//textfield输入过程中会不断调用这个方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
//(1)获取全部内容
NSString *text = textField.text;
//(2)编辑字符串
//1.1正常输入
if (range.length == 0) {
text = [text stringByAppendingString:string];
//1.2光标位置改动
}else {
//1.2.1获取前面的一段
NSString *tmpStr = nil;
tmpStr = [text substringToIndex:range.location];
//1.2.2后面的一段
text = [text substringFromIndex:range.location+1];
text = [tmpStr stringByAppendingString:text];
}
}
网友评论