【发布时间】:2012-05-14 05:56:31
【问题描述】:
我有一个UITextfield,当用户输入一些文本时,我需要文本字段来建议数组中的一些单词。
我看了一遍,似乎每个人都在创建一个表格或其他东西来显示建议。
有没有一种方法可以自定义默认的 iOS 自动完成功能以使用我的源来提供建议?
【问题讨论】:
标签: objective-c autocomplete uitextfield
我有一个UITextfield,当用户输入一些文本时,我需要文本字段来建议数组中的一些单词。
我看了一遍,似乎每个人都在创建一个表格或其他东西来显示建议。
有没有一种方法可以自定义默认的 iOS 自动完成功能以使用我的源来提供建议?
【问题讨论】:
标签: objective-c autocomplete uitextfield
您不能覆盖 UITextField 中的“默认”拼写检查自动完成功能,因为拼写检查自动完成功能旨在纠正错误并且由操作系统本身处理(但是您可以禁用它)。
大多数自动补全系统在 iOS 中的工作方式是使用非常有用的 UISearchDisplayController。您不需要大量代码即可使其正常工作,但它确实需要一些屏幕空间来显示响应列表(如 Safari 中的 Google 搜索)。
Apple 有相当多的相同代码来展示如何做到这一点。我是available here。
【讨论】:
您可以使用搜索栏而不是您的文本字段,然后实现其委托方法来提供建议。实现委托方法
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
//your logic
}
【讨论】:
我从未真正使用过它,但您可以查看UITextChecker 对象。它用于拼写检查文本和完成部分单词。有添加/学习和忽略单词的方法。
【讨论】: