【发布时间】:2013-03-07 09:16:03
【问题描述】:
我有一个 UITextField,其下方有一个表格,其中显示了可供选择的项目列表(类似于下拉列表)。现在,例如,当我在文本字段中键入 2(文本字段具有年份值)时,该表将显示所有带有 2 的字符串作为子字符串。所以当我输入 2000 时,它只会在表格中显示匹配的字符串 2000。
现在,当我在文本字段中输入完 2000 后,我想调用一个方法。一切正常,但我只想在我输入完所有 4 位数字后才调用此方法,但这里在我尝试输入第 4 位数字时调用此方法。
我如何在输入 2000 时执行此操作,并且在输入第三个零后,它会在 shouldChangeCharactersInRange 返回 Yes 后调用该方法。
这是我的代码:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *substring = [NSString stringWithString:textField.text];
substring = [substring stringByReplacingCharactersInRange:range withString:string];
//if _filteredarray count==1 and substring and _filteredarray object at index 0 matches then call a method here
return YES;
}
【问题讨论】:
-
您可以使用 UISearchBar 进行搜索并实现它的方法。这对你来说很容易。
-
你可以计算 string.length 如果它是
标签: iphone ios objective-c uitextfield