按钮倒计时分类

按钮分类实现倒计时效果

大多数项目都会遇到用户登录注册验证这样的需求,这里常常会用到一个倒计时的按钮,为了实现复用,专门写了个分类来实现这个效果.

  • 简单
  • 易用
  • 无耦合

实现原理

通过NSTimer定时器来定时(一般每隔一秒)刷新按钮的title文字

实现细节

最开始写完这个分类的时候,使用起来,按钮的倒计时效果文字会一闪一闪的刷新,后经过测试,需要设置按钮的buttonType为custom类型才不会闪烁.但系统的buttonType是readOnly的,也就是没有set方法,因此本分类使用了KVC来处理这个情况.

定时器处理

为了避免无法释放定时器,在dealloc方法中,进行了定时器清空处理,并复原按钮最初的buttonType

实现代码

CountDownButton代码链接

后续

时间仓促,暂未添加定制文字刷新样式