倒计时按钮

原创 2015年11月17日 22:13:23

实现倒计时

添加属性记录倒计时的初值

@property (nonatomic,assign)NSInteger number;

创建一个按钮

UIButton *button = [UIButton buttonWithType:(UIButtonTypeCustom)];

添加Tag值 方便取出

button.tag = 1000;

给按钮添加属性

button.frame = CGRectMake(100, 100, 100, 100);
button.backgroundColor = [UIColor redColor];
[button setTitle:@”发送验证码” forState:(UIControlStateNormal)];

给按钮设置点击方法

[button addTarget:self action:@selector(buttonAction:) forControlEvents:(UIControlEventTouchUpInside)];

添加到视图上
[self.view addSubview:button];

给倒计时时间的初值
self.number = 5;

实现点击方法

-(void)buttonAction:(UIButton *)button
{
/*
倒计时 核心 每隔一秒钟 时间递减
计时器(每隔多少时间 调用一个方法)
scheduledTimerWithTimeInterval:(NSTimeInterval) 代表时间间隔
target:self selector:@selector(timer:)代表每隔多少时间触发的方法
userInfo:@”button倒计时” 代表标题
repeats:YES 代表是否重复
*/

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timer:) userInfo:@”button倒计时” repeats:YES];

计时器开始
[timer fire];
把交互先关上
button.userInteractionEnabled = NO;

}

实现每个时间间隔中重复触发的方法

-(void)timer:(NSTimer *)timer
{

通过tag值取出按钮视图
UIButton button = (UIButton )[self.view viewWithTag:1000];

改Button的标题
NSString *title = [NSString stringWithFormat:@”%ld”,self.number–];

[button setTitle:title forState:(UIControlStateNormal)];

判断倒计时 是否结束 标题是否为零
if ([[button titleForState:(UIControlStateNormal)]isEqualToString:@”0”]) {

停止计时器
[timer invalidate];

改Button的标题
[button setTitle:@”重新发送验证” forState:(UIControlStateNormal)];

把交互打开
button.userInteractionEnabled = YES;

重置时间
self.number = 5;

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

实现按钮点击倒计时的三种方法

iOS 实现倒计时
  • MyKingSaber
  • MyKingSaber
  • 2017年05月28日 17:24
  • 682

Android -- 倒计时Button的几种实现

最近有朋友问我如何实现短信验证功能,还特意强调了验证码发送按钮的倒计时问题,其实这些都是些很基础的问题,但既然写了,也不妨贴出来,权当记录。...
  • chengxu_hou
  • chengxu_hou
  • 2017年02月10日 17:18
  • 3506

js实现按钮重新发送验证码倒计时效果

//倒计时 var wait = 60; function time(o) { if (wait == 0) { o.removeAttribu...
  • u014010798
  • u014010798
  • 2015年11月25日 16:27
  • 1592

jquery 实现 点击按钮后倒计时效果

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ...
  • injurooioo
  • injurooioo
  • 2016年04月07日 21:21
  • 3036

Android自定义TimeButton实现倒计时按钮

Android自定义TimeButton实现倒计时按钮
  • SSBBY
  • SSBBY
  • 2017年04月05日 17:46
  • 1397

自定义Button实现倒计时效果

实现的效果: (1)创建一个CustomButton类继承Button: package com.example.administrator.customview; import and...
  • ljw124213
  • ljw124213
  • 2016年10月12日 22:36
  • 706

jquery ajax回调函数中实现按钮置灰倒计时

主要是实现异步手机发送短信成功之后在ajax的success回调中实现将发送按钮置灰并倒计时,刚开始一直报js错误,问题可能出在于调用ajax之后this被更新,随意在这之前先把this对象赋给一个变...
  • awj3584
  • awj3584
  • 2013年11月18日 17:52
  • 7132

获取短信按钮倒计时60秒

var countdown=60; function settime(obj) { if (countdown == 0) { obj.removeAttribute("...
  • u011447828
  • u011447828
  • 2015年12月29日 20:55
  • 1976

Android实现倒计时的按钮

最近有人问我如何实现倒计时的按钮功能,例如发送验证码,我记得有个CountDownTimer,因为好久没用过了,自己就写了一个,代码如下 new CountDownTimer(10000, 1000...
  • Small_Lee
  • Small_Lee
  • 2016年04月28日 11:14
  • 3986

自定义倒计时跳过按钮

倒计时跳过按钮
  • CallousToTheEnd
  • CallousToTheEnd
  • 2017年04月26日 16:32
  • 304
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:倒计时按钮
举报原因:
原因补充:

(最多只允许输入30个字)