• “获取验证码”那些事


    说到用户注册功能,现在很多app都是使用手机号来作为注册的依据,那自然就离不开手机验证码。为了防止用户重复点击,一般都会做一个倒计时显示。当用户点击后,按钮变灰,并显示xx秒后重新获取,倒计时结束后恢复按钮状态。

    实现起来也不难,关于定时器,可以使用NSTimer或者GCD。不过还是有几个事项需要注意一下:

    1、关于控件选择,是UIButton还是UILabel?

    表面上看这个功能用UIButton实现应该很简单,一来UIButton本身就有点击事件,二来控制UIButton的颜色、是否可点击(userInteractionEnabled)都很方便。但是实际情况是当倒计时开始后,每秒修改UIButton文字时会出现闪烁(画面请自行脑补)。
    所以我选择的是UILabel,通过给他添加tap手势实现点击事件,缺点是没有点击反馈效果。

    2、当用户点击获取验证码后,再返回(视图被pop或者dismiss),再进入这个视图(push或者present),“获取验证码”又变成了可以点击状态,还是存在短时间重复点击的可能。这个情况要说他有漏洞也确实有点勉强,但是还是会有某一群人会觉得很严重。
    那如果不幸的是这一群人中有你的leader或者产品经理或者tester(我就属于不幸的那伙人),呵呵,你“呵呵”之后,又不得不去fix 这个“bug”。
    我这里已经实现了上述功能,并将相关代码封装成了一个工具类,代码放到github上了,这里是链接

    下面是最终的效果:

     
     
     
  • 相关阅读:
    request内置对象(上)1
    康拓展开-----两个排列的位置之差
    判断一个数的质因子个数
    学生信息管理系统----(顺序表)
    学生信息管理系统----(链表)
    二分图的最大匹配--匈牙利算法
    hdu-1285拓扑排序
    文件的压缩与解压
    树莓派安装QT(全部库包括)
    Win10 + CLion + 树莓派 + QT 远程开发调用Python
  • 原文地址:https://www.cnblogs.com/manji/p/4813520.html
Copyright © 2020-2023  润新知