【发布时间】:2013-01-24 23:09:34
【问题描述】:
任何人都可以向我指出任何示例项目或有关如何创建自动完成文本字段的提示,其中用户键入一个通用名称,例如“美国航空公司”,它具有另一个值,例如“AA”(对于美国航空公司)和作为用户根据文本字段中的内容输入它建议的结果?
类似这样的:
任何提示都会很棒!
谢谢大家。
【问题讨论】:
标签: ios xcode uitextfield autosuggest
任何人都可以向我指出任何示例项目或有关如何创建自动完成文本字段的提示,其中用户键入一个通用名称,例如“美国航空公司”,它具有另一个值,例如“AA”(对于美国航空公司)和作为用户根据文本字段中的内容输入它建议的结果?
类似这样的:
任何提示都会很棒!
谢谢大家。
【问题讨论】:
标签: ios xcode uitextfield autosuggest
根据我的经验,在 IB 中添加一个搜索显示控制器。然后我将代码添加到 RootViewController.m 如下:
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString {
NSInteger searchOption = controller.searchBar.selectedScopeButtonIndex;
return [self searchDisplayController:controller shouldReloadTableForSearchString:searchString searchScope:searchOption];
}
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption {
NSString* searchString = controller.searchBar.text;
return [self searchDisplayController:controller shouldReloadTableForSearchString:searchString searchScope:searchOption];
}
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString*)searchString searchScope:(NSInteger)searchOption {
NSPredicate *predicate = nil;
if ([searchString length])
if (searchOption == 0) // full text, in my implementation. Other scope button titles are "Author", "Title"
predicate = [NSPredicate predicateWithFormat:@"title contains[cd] %@ OR author contains[cd] %@", searchString, searchString];
else
// docs say keys are case insensitive, but apparently not so.
predicate = [NSPredicate predicateWithFormat:@"%K contains[cd] %@", [[controller.searchBar.scopeButtonTitles objectAtIndex:searchOption] lowercaseString], searchString];
[fetchedResultsController.fetchRequest setPredicate:predicate];
NSError *error = nil;
if (![[self fetchedResultsController] performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return YES;
}
This is tutorial for help you.
谢谢。 :)
【讨论】:
看看我的实现,MLPAutoCompleteTextField。它是开源的。
它会自动完成类似于 Google 的即时搜索。它使用Levenshtein Distance 算法对条目进行排序。
【讨论】:
【讨论】: