Button控件实现发送验证码倒计时方法

原创 2015年11月17日 19:24:32
// 创建button控件
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(100, 100, 100, 100);
    button.backgroundColor = [UIColor purpleColor];
    button.tag = 100;
    [button setTitle:@"发送验证码" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];

// 设置倒计时初值(应该设置成属性)
    self.number = 5;

}

// 实现button点击事件
// 点击后触发一个计时器方法 
- (void)buttonClick:(UIButton *)button
{
    // 倒计时核心 每隔 一秒钟 时间递减
    // 计时器(每隔多少时间 调用一个方法)
    // (NSTimeInterval) 代表时间间隔
    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:@"button倒计时" repeats:YES];
    // 计时器开始
    [timer fire];
    // 计时器方法开始后 button的交互应该关掉 不然点一次button就会创建一个timer
    button.userInteractionEnabled = NO;

}

// 计时器方法的实现
- (void)timerAction:(NSTimer *)timer
{
    // 改button的标题
    UIButton *button = (UIButton *)[self.view viewWithTag:100];
    NSString *buttonTitle = [NSString stringWithFormat:@"%ld",self.number--];
    [button setTitle:buttonTitle forState:UIControlStateNormal];
// 判断倒计时是否结束(标题是否为0)
    if ([[button titleForState:UIControlStateNormal] isEqualToString:@"0"]) {
        // 停止计时器
        [timer invalidate];
        // 更改标题
        [button setTitle:@"发送验证码" forState:UIControlStateNormal];
        // 打开交互
        button.userInteractionEnabled = YES;
        // 重置时间
        self.number = 5;

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

相关文章推荐

Android 获取验证码后 在Button控件上 显示倒计时

方法一: 只展示核心代码: private TimeCount time; 然后,在 Button 的点击事件里写 time = new TimeCount(60000, 1000); ti...

自定义验证码发送倒计时控件

自定义验证码发送倒计时控件转载请标明出处:Smart_Arvin的专栏最近做项目开发时再次用到短信验证码接收的功能,不能忍了,就自己写了一个通用的自定义控件,再也不用重复造轮子了。话不多说,code呈...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

APP中注册时常用的发送验证码的Button,带倒计时重发功能

注册时我们经常会碰到,给手机发送验证码的功能,点击发送验证码,然后就是显示剩余多少秒之后重新发送验证码,效果图如下: 为了实现这样的效果,Android中内置的普通的Button是达不到要...

Android手机验证码倒计时控件

自定义手机验证码倒计时控件CheckCodeCountDown 继承 TextView 代码如下: 用法如下: activity_main user_get_check_code_sh...

Android自定义控件系列(七)—验证码倒计时

今天给大家带来一个新的控件——验证码倒计时,先看下效果图1 效果演示2 使用方式<com.landptf.view.CountDownM android:id="@+id/cdm_identi...

Android实战简易教程-第四十一枪(显示倒计时的Button-适用于获取验证码)

最近在做获取验证码的功能,考虑到优良的用户体验,决定制作一个拥有倒计时提示的Button按钮,在网上查了一些资料,很是简单的就能实现,我写了一个小Demo,大家可以应用到自己的项目中。1.activi...

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

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

Android 点击Button获取验证码倒计时效果

参考:http://www.2cto.com/kf/201506/412668.html 近期在做一个商城项目,点击Button获取验证码是必不可少的,那么如何实现倒计时效果呢?也是发愁了一...
  • Tom91
  • Tom91
  • 2016-11-12 21:54
  • 3751

计时器发送验证码(倒计时实现)

建立验证码按钮 //发送验证码按钮 _sentCodeBtn = [[UIButton alloc] initWithFrame:CGRectMake(kScreenWidth ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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