前几天的项目里要做个小效果:类似新浪微博那样输入邮箱登录时出现关联的邮箱后缀下拉提示,如下:
(上边下拉列表实际是textfiled+tableView,已经封装成小控件,根据项目需求,稍作调整即可直接集成到项目里。简单易用,一句代码搞定)
这种效果实现不难,网上貌似也没好用的控件。把自己写的贡献出来。大家如果有其他想法,欢迎留言,或者在github里issues。
下载地址:https://github.com/mythkiven/JPullEmailTF
代码简单易懂,简单描述下实现:
就思路来说,就是一个监听textField的状态,每当textField.text变化时做出判断,如果里面含有“@”,就显示一个tableView,并用NSPredicate过滤显示相关后缀。
1、定义一个UITextField的子类:JPullEmailTF,将下拉提示的tableView作为它的一个属性,并且用这个TextField作为tableView的代理对象:
@interface JPullEmailTF ()<UITableViewDataSource, UITableViewDelegate>