V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
lyricorpse
V2EX  ›  iDev

求问 iOS 中如何实现:当在 UItextField 中输入文字时,于下方 scrollView 中以搜索方式产生可点选的 tag list?

  •  
  •   lyricorpse · 2016-06-12 09:28:10 +08:00 · 3395 次点击
    这是一个创建于 3085 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问各位 V 友开发者,这种情况一定要用 UISearchBar 么?我想保留之前利用别的 framework 设定好的 UITextField 的样式,并且希望 UI 界面高度定制而不是通常见到的tableView

    我也试着找了一些库,看到 reel-search 有点接近我的需求,不过我希望搜索结果能以 tag list 的形式呈现。

    谢谢!

    第 1 条附言  ·  2016-06-12 12:09:33 +08:00
    或者可以用类似 autocomplete 的方法,在`UITextField`下方列出 suggestions?
    第 2 条附言  ·  2016-06-13 00:32:35 +08:00
    感谢大家回复!我重新整理下问题的描述:
    我想在`UITextField`中输入的时候,于下方通过 search 活着 autocomplete 的方式(请问这两者有区别么?)产生 suggestions , suggestions 以 tag 方式呈现。我主要不会的是中间的搜索环节,不确定是不是一定要自己写还是可以使用内建的搜索套件或者有第三方的开源实现?

    我觉得这个需求本身很常见,不过 iOS 中一旦涉及这种文本输入补全或者搜索,似乎几乎都用的 UISearchBar 在顶端 UITableView 在下方的那个页面,好像没有见过其他展现形式。
    16 条回复    2016-06-28 13:23:39 +08:00
    ma125125t
        1
    ma125125t  
       2016-06-12 14:45:59 +08:00
    UISearchBar 能做到的 UItextField 都能做到,不过我语文不好,实在看不懂你的问题
    lyricorpse
        2
    lyricorpse  
    OP
       2016-06-12 14:54:30 +08:00
    @ma125125t 谢谢你的回复!我是初学者可能表达的不太准确,我想实现的效果是:在`UITextField`中输入文字,在下方生成 autocompletion 的 suggestions ,点按 suggestion 以后能直接补全。请问有现成的开源实现可以参考么?
    jackisnotspirate
        3
    jackisnotspirate  
       2016-06-12 14:57:20 +08:00
    lyricorpse
        4
    lyricorpse  
    OP
       2016-06-12 15:41:06 +08:00
    @jackisnotspirate 谢谢,可是这个貌似不带搜索功能?
    我希望能预先设定好一些 tag ,然后在输入过程中按照 antocomplete 的方式显示出相应的 tag
    Henrybsbhp
        5
    Henrybsbhp  
       2016-06-12 15:51:53 +08:00 via iPhone
    UITextField 的代理里面可以实现的。
    kobe1941
        6
    kobe1941  
       2016-06-12 17:57:16 +08:00
    我语文不好,完全看不懂你在说什么 。。。。
    free9fw
        7
    free9fw  
       2016-06-12 21:51:47 +08:00
    这个可以考虑通过 collectionView 做, autoComplete 的数据源可以服务器实时获取。并不难
    XDDD
        8
    XDDD  
       2016-06-12 22:10:14 +08:00 via iPhone
    显然,如果你不想使用内建的,现成的,成套的搜索工具,你就需要自己处理检索和检索结果的显示。即使有这方面的开源实现,这个特定的要求也需要你自己传递数据。
    而你居然期待有一个开源项目能完美的符合你所有的要求,而且开箱即用?
    lyricorpse
        9
    lyricorpse  
    OP
       2016-06-13 00:12:10 +08:00 via iPhone
    @kobe1941 Sorrry... 就是在 UITextField 输入的时候在下方以 tag 形式列出 autocomplete 的 suggestions 类似 vim 中的 ctrl-p 插件
    lyricorpse
        10
    lyricorpse  
    OP
       2016-06-13 00:17:28 +08:00 via iPhone
    @XDDD 谢谢!我目前只找到几个很古老的 obj-C 的 autocomplete 库似乎可以完成我的需求。话说 autocomplete 和 search 本质上一样么?

    我要的其实和自带的 search 方案没有本质区别 只是在 UI 组织上变换一下 不确定是否可以
    kojirou
        11
    kojirou  
       2016-06-13 04:16:18 +08:00 via iPad
    为什么不自定义个 tableview 呢
    cubepeng
        12
    cubepeng  
       2016-06-13 09:36:27 +08:00   ❤️ 1
    在前东家做 iOS 浏览器开发,我在 github 上写了部分代码,供参考: https://github.com/poetryfar/KSAutoCompleteTextField
    xiubin
        13
    xiubin  
       2016-06-13 09:49:31 +08:00 via iPhone
    你的意思就是用 tf 做搜索框,一边输入一遍根据输入内容匹配来给推荐或者历史记录呗?
    coa
        14
    coa  
       2016-06-13 19:19:45 +08:00
    用内建的好像有个 UISearchDisplayController ,不过好像也是封装了下 UISearchBar 和 UITableView 。。。一定要 UITextField 的话估计只能自己监视输入并实时刷新一个 tableview 了,自定义一个 Cell 是不是就能自己定制 UI 了? 如果 tag list 是指横向的、有椭圆背景高亮的那种,估计得朝 UICollectionView 方向考虑而不是 UITableView 。。。没实现过,单纯一个猜想。。。
    lyricorpse
        15
    lyricorpse  
    OP
       2016-06-14 00:23:43 +08:00
    @cubepeng 感谢!
    @xiubin 是的
    @coa 嗯,感觉是 UICollectionView ,所以这种情况下搜索模块要自己写咯?
    jackisnotspirate
        16
    jackisnotspirate  
       2016-06-28 13:23:39 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2745 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:22 · PVG 21:22 · LAX 05:22 · JFK 08:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.