实现button按钮上的倒计时

原创 2015年11月17日 23:36:47

创建一个button

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

设置位置

button.frame = CGRectMake(100, 100, 100, 100);

设置一个标签 为了后面便于获取button

button.tag = 1000;

设置背景颜色

button.backgroundColor = [UIColor cyanColor];

button按钮的核心方法target/action方法

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

给一个时间的初值

self.number = 5;
//记录倒计时的初值
@property (nonatomic ,assign)NSInteger number;

两个关键的方法

- (void)buttonClick:(UIButton *)button
{
    //倒计时 核心  每隔一秒钟 时间递减
    //计时器(每隔多少时间调用一个方法)
    //<#(NSTimeInterval)#> 代表时间间隔
    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timer:) userInfo:@"button倒计时" repeats:YES];
    //计数器开始
    [timer fire];
    //关闭交互
    button.userInteractionEnabled = NO;
}

- (void)timer:(NSTimer *)timer
{
    //改button标题
    NSString *title = [NSString stringWithFormat:@"%ld",self.number--];
    UIButton *button = (UIButton *)[self.view viewWithTag:1000];
    [button setTitle:title forState:(UIControlStateNormal)];
    //判断倒计时 是否结束 标题是否为0
    if ([[button titleForState:(UIControlStateNormal)] isEqualToString:@"0"]) {
        //停止计时器
        [timer invalidate];
        //更改标题
        [button setTitle:@"重新发送验证码" forState:(UIControlStateNormal)];
        //交互打开 可以重新点击
        button.userInteractionEnabled = YES;
        //重置时间
        self.number = 5;
    }
    NSLog(@"调用了");
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

自定义Button之实现点击按钮实现倒计时功能

其实,实现倒计时功能非常容易,因为Android已经将该功能封装好了我们只要使用就可以了因为简单我这里也不多说直接上代码, 在自定义VIew中我继承Button public class Count...

对安卓获取验证码倒计时60秒Button按钮的简单封装

鉴于经常在注册获取验证码时候需要一个倒计时按钮觉得很麻烦,抽点时间写了一个TimeButton 键鼠下特性, TimeButton使用的时候跟普通Button一样没有冲突, TimeButton在倒计...
  • yung7086
  • yung7086
  • 2015年02月06日 13:22
  • 23571

swift实现有特效的倒计时Button

  • 2015年08月01日 02:23
  • 54KB
  • 下载

自定义Button实现倒计时效果

实现的效果: (1)创建一个CustomButton类继承Button: package com.example.administrator.customview; import and...

android短信验证码功能实现,包含按钮倒计时操作

实习的时候,公司注册页面需要加上短信验证码的功能,就自己做了一个,使用的是聚合数据的短信验证SDK进行验证。首先下载短信验证码SDK,不懂的朋友自行百度聚合数据,然后配置环境,导入相关的jar包. ...

通过ValueAnimator 来实现按钮点击后倒计时的效果

布局文件:

Android实现倒计时的按钮

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

jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码

/*-------------------------------------------*/         var InterValObj; //timer变量,控制时间 var count ...

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

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

短信接口源码(实现按钮倒计时的功能)

1.关于代码中返回值代表多少请参考官网,短信接口:http://www.56dxw.com 2.获取语音验证码后的倒计时功能的实现。 3.以上先加上图片验证码,然后才可以获取手机验证码,主要是为了防止...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实现button按钮上的倒计时
举报原因:
原因补充:

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