ios - 关于 iOS 开发的自动完成功能有什么想法吗?

标签 ios xcode uitextfield autosuggest

任何人都可以向我指出任何示例项目或提示,了解如何创建一个自动完成文本字段,用户可以在其中键入一个通用名称,例如“美国航空公司”,它具有另一个值,例如“AA”(对于美国航空公司)以及作为用户键入它会根据文本字段中的内容建议结果?

是这样的:example

任何提示都会很棒!

谢谢大家

最佳答案

First get this source code

根据我的经验,在 IB 中添加一个搜索显示 Controller 。然后我将代码添加到 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.

And also get demo project.

谢谢。 :)

关于ios - 关于 iOS 开发的自动完成功能有什么想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14785209/

相关文章:

iphone - 在 UITableViewCell 中动态分配 UIButton 事件

ios - 如何在 tableViewCell 中运行 imagePicker

ios - eCPM 与展示次数之间的相关性

ios - 由于未捕获的异常而终止应用程序 Swift

ios - swift: UITextField 没有名为 text 的成员

ios - 根据内容动态更改 UITextField 宽度

ios - 由于某种原因,方法 DidBeginEditing : (UITextField *)textfield is not working

ios - mainMixerNode 快速崩溃

ios - 我无法重现的用户可能导致 CoreData 崩溃

iphone - 如何判断正在运行的场景是什么样的类/场景?