AutoCompleteTextField for OS X(Swift)
https://github.com/fancymax/AutoCompleteTextField
支持全拼、简拼、汉字
AutoCompleteTextField 是基于 NSTextField 实现的自动补齐控件,我给出的 Demo 示例通过这个控件实现类似 12306 网站上选择始发站 /终点站的功能。
原理也比较简单:
1. 捕捉用户的 keyup 事件来增加智能提示逻辑。
2. 识别用户按下的键值,弹出 popover ,给出智能提示,比如用户按下 s h ,则给出提示 “上海”
3. 当用户按下 enter 键,则把提示值输出到 TextField 的显示框上。
通过写这个控件,我可以学习到哪些?
1. 了解 Cocoa 控件体系的继承层级。
2. 了解 Cocoa 中的 delegate 模式(主程序与 AutoCompleteTextField 之间通过 delegate 模式解除耦合)。