V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fancymax
V2EX  ›  Swift

分享自己写的 OS X 上的小控件-AutoCompleteTextField for OS X(Swift)

  •  1
     
  •   fancymax ·
    fancymax · 2015-12-24 11:05:30 +08:00 · 3598 次点击
    这是一个创建于 3039 天前的主题,其中的信息可能已经有所发展或是发生改变。

    AutoCompleteTextField

    AutoCompleteTextField for OS X(Swift)

    URL

    https://github.com/fancymax/AutoCompleteTextField

    Demo

    支持全拼、简拼、汉字
    demo

    第 1 条附言  ·  2015-12-24 15:51:29 +08:00

    AutoCompleteTextField 是基于 NSTextField 实现的自动补齐控件,我给出的 Demo 示例通过这个控件实现类似 12306 网站上选择始发站 /终点站的功能。

    原理也比较简单:
    1. 捕捉用户的 keyup 事件来增加智能提示逻辑。
    2. 识别用户按下的键值,弹出 popover ,给出智能提示,比如用户按下 s h ,则给出提示 “上海”
    3. 当用户按下 enter 键,则把提示值输出到 TextField 的显示框上。

    通过写这个控件,我可以学习到哪些?
    1. 了解 Cocoa 控件体系的继承层级。
    2. 了解 Cocoa 中的 delegate 模式(主程序与 AutoCompleteTextField 之间通过 delegate 模式解除耦合)。

    2 条回复    2015-12-24 14:30:29 +08:00
    MrX
        1
    MrX  
       2015-12-24 11:45:01 +08:00
    加了一个星,谢谢分享
    fancymax
        2
    fancymax  
    OP
       2015-12-24 14:30:29 +08:00
    控件在处理 Tab 的时候还有一点问题,大家如果有兴趣的话,帮忙看看,怎么处理比较好~~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5529 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:07 · PVG 14:07 · LAX 23:07 · JFK 02:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.