iOS自定义按钮 - 发送验证码按钮

  • 效果图
效果图.gif
  • 倒计时定时器

使用的是GCD定时器 -- GCD定时器

  • 防止恶意点击

其中设置了倒计时时间记录,无论是pop销毁再重建,还是杀掉进程再启动程序,都会从之前的计时时间开始,除非之前的计时任务结束。

防止某些用户恶意操作,多触发发送验证码。

  • 使用方法
// 初始化 
// identify参数的作用是区别控件(不建议使用)。不同的identify会有不同的计时记录,不需要时传nil,全局发送验证码按钮就会共享同一个计时记录,防止恶意用户。
DPSendCodeButton *sendCodeButton = [[DPSendCodeButton alloc]initWithFrame:CGRectMake(100, 100, 100, 100) identify:@"LoginViewButton"];

//是否允许后台计时
[sendCodeButton allowTimingAtBackgound:NO];

//添加点击事件
[sendCodeButton addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview: sendCodeButton];

其他控件属性设置与UIButton相同

Demo地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.倒计时按钮封装 使用场景:注册1页点击获取验证码按钮,push到注册2页。界面如下“注册2-1页”所示,导航栏...
    WeiHing阅读 4,547评论 2 4
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • 周末,偶发突想,临时决定到世界花卉大观园游览。大观园由七大温室和十五个花园广场组成。温室内全部采用电脑控制的通风、...
    西山樵夫阅读 3,635评论 0 2
  • 文 | 苗姑娘 世界那么大,我却偏偏遇见你。 城市这么小,我却再也没有遇见你。 久居一座城市,身边有固定的圈子,这...
    苗凡一阅读 11,064评论 2 3
  • 世界上最孤独的鲸身边从来就没有过亲人和朋友。我想去见见她。 电影的开始是这样说的。 她叫Alice,你也可以叫她5...
    Hayt阅读 3,991评论 1 0