- 效果图
- 倒计时定时器
使用的是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相同