UITextField自动完成?

Bre*_*ett 30 autocomplete objective-c uitextfield ios

我试图弄清楚是否有办法在UITextField特定值中实现自动完成功能.

我知道UITextField可以使用iPhone字典做到这一点(就像在Safari中搜索谷歌等),但我希望能够以编程方式将其更正为我指定的某些值.

这该怎么做?

Dex*_*erW 12

布雷特

在处理最近的一个相当大的项目时,我做了一些非常类似的事情.我们有一个不断变化的自动完成条款列表,并围绕它们构建了一个自动完成.

首先,您需要制作某种类型的自动完成控制器.它应该采用一个字符串并返回该字符串的所有可能的自动完成术语.

-(NSArray *)completionsForString:(NSString *)myString;
Run Code Online (Sandbox Code Playgroud)

然后,查看UIMenuController类.它是在许多应用程序中显示剪切/复制/粘贴选项的类.您可以获取它的共享实例,自己填充菜单项,并将其显示在文本字段上方.然后,用户可以简单地点击他们想要的术语.

最后,该解决方案非常适合我们的需求.我希望这个对你有用.


Mic*_*gle 7

查看Ray Wenderlich的本教程,该教程演示了一种实现自定义自动完成的方法


jon*_*ley 6

或者,您可以使用此UITextField子类(受DOAutocompleteTextField启发):

https://github.com/hoteltonight/HTAutocompleteTextField

它还有一些功能,并且正在积极开发中.该示例显示如何使用数组作为autosuggest文本的数据源.它采用与DOAutocompleteTextField相同的方法,因为它在用户输入时在文本字段中显示建议的完成文本"ghosted".


Den*_*Vog 2

你调查过吗UISearchDisplayControllerStack Overflow 上有一些线程,包括核心数据参考(如果您正在使用的话)。其他地方还有一些替代方法