简单的“获取验证码”的按钮功能实现

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC" }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; min-height: 17.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #853e64 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; min-height: 21.0px }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #587ea8 }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #546348 }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #323e7d }
p.p8 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000 }
p.p9 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #546348 }
span.s1 { color: #000000 }
span.s2 { }
span.s3 { color: #323e7d }
span.s4 { font: 18.0px "PingFang SC" }
span.s5 { color: #587ea8 }
span.s6 { color: #853e64 }
span.s7 { font: 18.0px "PingFang SC"; color: #853e64 }
span.s8 { font: 18.0px Menlo }

最近做项目遇到一个小问题,获取码证码,通常这种界面直接用xib来布局这个注册页面,以往用的是纯代码,然后发现了一个小bug,以前用纯代码写的获取验证码这个功能正常的,但是现在用xib拖拽的按钮,虽然可以实现,但是文字会闪烁,这到底是为什么纯代码没有问题,xib就出现这个问题呢?我也不知道,其实这里第一次写这个博客,写得有点烂,先上代码

#import "ViewController.h"

@interface ViewController ()

/* 时间 */

@property (nonatomic, assign) int timeCount;

/* 定时器 */

@property (nonatomic, strong) NSTimer *timer;

/* 按钮 */

@property (nonatomic, weak) UIButton *messageButton;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

self.view.backgroundColor = [UIColor whiteColor];

//创建按钮

UIButton *btn = [[UIButton alloc] init];

[btn addTarget:self action:@selector(sendMessageClick) forControlEvents:UIControlEventTouchUpInside];

[btn setTitle:@"获取码证码" forState:UIControlStateNormal];

btn.frame = CGRectMake(100, 100, 200, 40);

[btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

btn.backgroundColor = [UIColor redColor];

[self.view addSubview:btn];

self.messageButton = btn;

}

//侦听

- (void)sendMessageClick

{

self.messageButton.backgroundColor = [UIColor grayColor];

self.messageButton.userInteractionEnabled = NO;

//开始倒计时

[self beginCalculationTime];

}

//开始倒计时

- (void)beginCalculationTime

{

self.timeCount = 10;

[self.messageButton setTitle:@"重新获取(60)" forState:UIControlStateNormal];

self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(refreshTime) userInfo:nil repeats:YES];

[self.timer fire];

}

//timer

- (void)refreshTime

{

self.label.text = [NSString stringWithFormat:@"重新获取(%ld)",(long)self.timeCount];

self.timeCount -= 1;

[self.messageButton setTitle:[NSString stringWithFormat:@"重新获取(%ld)",(long)self.timeCount] forState:UIControlStateNormal];

if (self.timeCount == 0) {

[self.messageButton setTitle:@"重新获取" forState:UIControlStateNormal];

[self.timer invalidate];

self.messageButton.userInteractionEnabled = YES;

self.messageButton.backgroundColor = [UIColor redColor];

}

}

@end

时间: 2024-10-25 05:18:44

简单的“获取验证码”的按钮功能实现的相关文章

重新获取验证码的按钮

很多应用在修改密码或者是更改个人信息时,需要用户输入手机验证码,其间有个等待过程,一般为60秒,等待结束后可以重新点击按钮获取新的验证码,在页面来回跳转之后又可以重新计时,简要做以下整理: 在.h文件中声明计时器 @interface LinViewController : UIViewController @property (strong, nonatomic) UIButton * button; @property (strong, nonatomic) NSTimer * timer;

前端学习——ionic/AngularJs——获取验证码倒计时按钮

 按钮功能为:点击"获取验证码"--按钮不可用-设置倒计时-60秒后重新获取. 代码借鉴于:http://plnkr.co/edit/Swj82MpJSix3a47jZRHP?p=preview 主要实现原理:点击后,设置一个$interval,每一秒更改一次剩余时间,并依赖Angular数据绑定实时显示在页面中.设置一个$timeout,60秒后将按钮初始化到可用状态. 实现代码: (1)js代码,设置成一个directive以便多次调用. angular.module('winwi

clips 前端 js 倒计时 获取验证码的按钮

1 <a href="javascript:void(0);" onclick="get_captcha()" class="btn btn-default btn6" id="for_captcha" >获取验证码</a> 2 3 <script type="text/javascript"> 4 5 var url="/get-verify-code?pho

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

鉴于经常在注册获取验证码时候需要一个倒计时按钮觉得很麻烦,抽点时间写了一个TimeButton 键鼠下特性, TimeButton使用的时候跟普通Button一样没有冲突, TimeButton在倒计时的时候返回了如果没有超过剩下的时间再次进入会继续跑时哦, TimeButton里面完成了按钮的点击显示和倒计时逻辑, TimeButton在activity销毁后也会销毁不会像线程一样还在后台跑, TimeButton的显示文字和倒计时都可以自行设置当然也有默认的, 原创地址 http://wri

获取验证码倒计时优化 页面刷新实时倒计时

现在很多页面是需要获取验证码的,但是相信很多页面是没有做这样的优化的,比如下面这个场景: 现在访问一个注册页面,页面有一个填写手机号,获取验证码的按钮,点击获取验证码按钮之后,按钮变成灰色,然后是60倒计时效果.在60S内我无法再次点击获取验证码按钮.因为按钮是灰色的,不可点击状态. 但是,如果在倒计时任然进行时我刷新一下页面,一般的页面就会全部刷新,包括倒计时效果也没有了,按钮恢复到这最初可点击状态,这其实是不符合逻辑的.按正常逻辑是,页面任然倒计时,如果我刷新页面,倒计时任然存在,并且按钮不

微信小程序之获取验证码js

在微信小程序中怎样实现获取验证码的倒计时功能捏,倒计时的原理是一样一样的,就是某些地方需要注意. 第一步:结构 <view class='get-code' wx:if="{{!isShow}}" bindtap='getCode'>获取验证码</view> <view class='get-code' wx:if="{{isShow}}">{{sec}}秒后重新发送</view> 注意:微信小程序中要用到两个按钮,不

微信小程序【获取验证码】倒计时效果

最近开始接触微信小程序,会记录一些相关的小功能--例如这次是点击[获取验证码]按钮出现的倒计时效果. 原文: http://blog.csdn.net/Wu_shuxuan/article/details/78539075  感谢 .wxml <button class="buttonget" disabled='{{disabled}}' data-id="2" bindtap="getVerificationCode"> {{ti

微信公众号申请页面获取验证码BUG

环境 操作系统: 浏览器: 网络:wifi 步骤 1.注册成功后,进入微信公众号 2.选择订阅号,下面的[选择并继续],点击确认 3.选择[个人]后,会让你填写个人信息 4.填写完姓名和身份证号码后,填写手机号后,[获取验证码]的按钮应该由灰色转为高亮,但是却没有,但是这个时候却可以点击,正确获取验证码. 频率 必现(3/3) 危害 轻微,反正不影响使用,但是用户体验较差,也不满足需求,因为当你点击获取,一分钟后的正常显示如下: 原因分析 JS对输入框的判断逻辑出现问题.

获取验证码显示的两种简单实现,交互绝非偶然~

前面为大家讲过计时器的顺时针的两种方法,在录制视频等操作中颇有使用,今天就给大家带来倒计时实现的两种方式. 对面前面的正向计时方法没有了解的,可以直接传送门:http://www.cnblogs.com/liushilin/p/5802954.html 虽然最近写的都比较简单和基础,不过简单不代表熟悉,基础不代表就会,大牛绕过,哈,中牛小牛也可以绕过,这个是写给初学者的. 先搞个效果图. 代码实现方式也超级简单啦,这里首推第一种实现方式,而且也是比较适合大家的,就是通过直接继承CountDown