0
A
回答
0
首先,你需要有一个包含所有数据要提供尽可能为用户可能选择一个的NSArray。这里我使用的是pastURL的NSMutableArray,每次用户浏览到一个URL,我们都会将它添加到数组中。 接下来,您需要创建一个视图来显示用户可以从中选择的URL。这样做的一个好方法就是在输入字段下方创建一个表格视图,列出所有可能的选项。此表格视图只有在用户在文本字段中输入数据时才会显示,并且可以隐藏其余时间。
autocompleteTableView = [[UITableView alloc] initWithFrame:
CGRectMake(0, 80, 320, 120) style:UITableViewStylePlain];
autocompleteTableView.delegate = self;
autocompleteTableView.dataSource = self;
autocompleteTableView.scrollEnabled = YES;
autocompleteTableView.hidden = YES;
[self.view addSubview:autocompleteTableView];
使用UITextFieldDelegate
贯彻shouldChangeCharactersInRange
协议。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
autocompleteTableView.hidden = NO;
NSString *substring = [NSString stringWithString:textField.text];
substring = [substring
stringByReplacingCharactersInRange:range withString:string];
[self searchAutocompleteEntriesWithSubstring:substring];
return YES;
}
- (void)searchAutocompleteEntriesWithSubstring:(NSString *)substring {
// Put anything that starts with this substring into the autocompleteUrls array
// The items in this array is what will show up in the table view
[autocompleteUrls removeAllObjects];
for(NSString *curString in pastUrls) {
NSRange substringRange = [curString rangeOfString:substring];
if (substringRange.location == 0) {
[autocompleteUrls addObject:curString];
}
}
[autocompleteTableView reloadData];
}
以了解详情:Tutorial
或下载演示应用程序:Demo App
相关问题
- 1. 如何在没有实际完成的情况下关闭活动?
- 2. 如何在没有控件的情况下获得自动完成功能
- 3. Matlab:如何在没有Tab的情况下激活自动完成功能?
- 4. 如何在不使用UITableView的情况下使用UISearchBar和SearchDisplayController?
- 5. 如何在没有实现的情况下在android中实现微调器?
- 6. 如何在没有完成前面的活动的情况下动画活动
- 7. 如何在没有actionview的情况下实现form_tag helpers?
- 8. 如何在没有Async CTP的情况下实现等待
- 9. 如何在没有setter的情况下实现INotifyPropertyChanged?
- 10. 我们如何在没有SpingIOC.jar的情况下实现Spring IOC
- 11. 如何实现自动完成对以下情形
- 12. 自动完成UISearchBar
- 13. 如何在没有它的情况下自动生成URL中的“www”
- 14. 如何在级联下拉列表中实现自动完成
- 15. 如何让动画在不被中断的情况下完成?
- 16. 如何在没有界面生成器的情况下移动现有图像
- 17. 在UISearchBar中搜索时自动完成
- 18. 在没有自动装配的情况下构造SimpMessagingTemplate实例
- 19. 如何在没有返回选项的情况下在JavaScript中完成功能
- 20. UITableView如何在没有注册类的情况下工作:forCellReuseIdentifier:
- 21. 如何在没有UITableViewController的情况下推送UITableView
- 22. 在没有Game Center的情况下在iOS应用中实现成就
- 23. 如何在没有完全外连接的情况下完成全外连接
- 24. 如何在没有主机的情况下自动运行android
- 25. 在没有创建实现的情况下实现接口(动态代理?)
- 26. 在Drill-Hive的情况下动态模式发现未完成
- 27. 如何在没有投票权的情况下在Rails中实现投票
- 28. 如何在没有简码的情况下在wordpress中实现FAQ
- 29. 如何在没有插件的情况下在Jquery中实现“观察者”?
- 30. 如何在没有ID的情况下生成对div的自动点击?
如果我理解正确的话,那是因为你没有在开始一个UITableView(可能是地图搜索实例)。然后,该项目是手动'UITextField' +“浮动”'UITableView'来显示结果。 – Larme
请提供更多关于你想达到什么的信息,你到目前为止所尝试的。 – mangerlahn
为什么你不能使用tableview?这可能是一个用户界面没有任何分隔线 – bolnad