有个需求就是 需要用户输入几位以后账号,可以根据本地存储的登录成功的账号,进行自动补全,并且补全内容为选中状态,不影响用户的新输入。
研究了一下,下面是完整的实现的方法。
补充个下载地址http://download.csdn.net/detail/darkmengqi/8426463
写在 textFiled的delegate里面,这样当有输入时会调用此方法。
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if ([string isEqualToString:@""]) {//删除的话
return YES;
}
NSMutableString *text = [[NSMutableString alloc]initWithCapacity:0];
[text appendString:textField.text];
[text deleteCharactersInRange:range];//在选中的位置 插入string
[text insertString:string atIndex:range.location];
if (text.length>2) { // 限制从2个以上才开始匹配 根据需求 自己设定
NSString *behind = [self matchString:text]; //匹配是否有