我有一个文本字段,用户在其中输入姓名。现在,当在文本字段中输入字母时,让我们说“T”,那么我如何从 iphone 的联系人列表中获得关于输入的字母的姓名建议。
我还需要显示与输入的名称相对应的适当数字。
我已经浏览了苹果文档,
任何人都可以帮助我提出宝贵的建议或示例代码片段:
提前致谢 :)
编辑
我能够在日志(控制台)中查看联系人,因为我在 viewDidLoad 方法中编写了 Anil Kothari 先生建议的代码
正如Anil Kothari 先生所建议的,我已经为文本字段委托方法实现了搜索条码,如下所示:
- (void)textFieldDidBeginEditing:(UITextField *)atextField
{
if(searching)
return;
searching = YES;
}
- (void) searchTableView
{
textField = [self.fields objectAtIndex:0];
NSString *searchText = textField.text;
for (UIView *subview in searchBar.subviews)
{
if ([subview isKindOfClass:[UITextField class]])
{
textField = (UITextField *)subview;
break;
}
}
textField.enablesReturnKeyAutomatically = NO;
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
//searchArray contains matched names of friends with the searching string
for (NSString *sTemp in contactList)
{
txtToSearch =[[NSString alloc] initWithString:[sTemp substringWithRange:NSMakeRange(0,[searchText length])]];
textField = [self.fields objectAtIndex:0];
txtToSearch = textField.text;
NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (titleResultsRange.length > 0)
[copyListOfItems addObject:sTemp];
}
[searchArray release];
searchArray = nil;
}
-(BOOL)textField:(UITextField *)atextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
[copyListOfItems removeAllObjects];
if([string length] > 0)
{
searching = YES;
[self searchTableView];
}
else
{
searching = NO;
}
}
但仍然无法正常工作:(