NStimer(计时器)实现按钮的发送验证码的一个小demo
来源:互联网 发布:sp张坤淘宝店 编辑:程序博客网 时间:2024/05/04 18:27
工程文件:
根视图控制器的代码不说了,主要的代码在
RootViewController.m中:
#import "RootViewController.h"@interface RootViewController ()// 直接赋值的不需要在dealloc中释放// 将计数器的初始值设置成属性方便调用@property (nonatomic,assign)NSInteger number;@end@implementation RootViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; // 设置按钮的相关属性 btn.frame = CGRectMake(100, 100, 150, 50); btn.backgroundColor = [UIColor orangeColor]; [btn setTitle:@"请输入验证码" forState:UIControlStateNormal]; // 可以设置成属性或者tag值,这里使用tag值方法 btn.tag = 1000; // 添加方法 [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; // 添加到视图 [self.view addSubview:btn]; // 释放 方法创建不需要手动释放 // 初始化计数器的值 self.number = 5;}// 实现按钮点击方法- (void)btnClick:(UIButton *)btn{ // 创建一个计数器 自动到0 之后重新发送 // 此处的repeats属性只有YES时,才能实现自动计数 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerAction:) userInfo:@"button倒计时提示" repeats:YES]; // 计时器开始 [timer fire]; // 必须关闭交互,不然每次点击都会产生一个计数器 btn.userInteractionEnabled = NO;}- (void)timerAction:(NSTimer *)timer{ // 取出点击的Button UIButton *btn = (UIButton *)[self.view viewWithTag:1000]; // 如果计数器的值为0时,显示为重新发送验证码 // 判断计时器是否结束 就是他标题为0 if ([[btn titleForState:UIControlStateNormal] isEqualToString:@"0"]) { // 计时器停止 [timer invalidate]; // 交互打开 btn.userInteractionEnabled = YES; // 更改标题 [btn setTitle:@"重新发送验证码" forState:UIControlStateNormal]; // 重置计数器的值 self.number = 5; }else{ [btn setTitle:[NSString stringWithFormat:@"%ld",self.number--] forState:UIControlStateNormal]; }}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
三维图
window->根视图->button
* 效果图*
0 0
- NStimer(计时器)实现按钮的发送验证码的一个小demo
- 使用NSTimer计时器实现简单的按钮倒计时功能
- CountDownTimer实现倒计时器的小demo
- ios发送短信验证码计时器的swift实现
- 发送短信验证码按钮的实现
- NSTimer做一个小计时器
- 发送验证码按钮页面计时器
- iOS 验证码 小技术之 UIButton NSTimer 计时器
- iOS小demo之验证码计时器
- NSTimer 计时器的创建
- 实现计时器 的简单demo
- 用原生JS实现一个简单的计时器demo
- 计时器发送验证码(倒计时实现)
- 使用rxjava2实现验证码重新发送按钮的倒计时
- 一个计时器的实现
- 发送验证码计时器
- 关于计时器NSTimer 的使用
- 替代NSTimer的block计时器!! !
- virtualbox下ubuntu共享文件夹自动挂载
- 【jQuery】Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()
- maven项目中自动下载jar包的pom.xml配置
- android:layout_width与android:width的区别
- LeetCode 102 : Binary Tree Level Order Traversal(Java)
- NStimer(计时器)实现按钮的发送验证码的一个小demo
- 新手学EasyUI(八)----SubGrid三级嵌套
- 自适应增益AGC算法
- 王学岗的属性动画上(二)——objectAnimator的非主流用法
- 求教,CSS3绚丽照片墙JS代码及其中遇到的问题
- 物联网与嵌入式系统概论-week3- Hardware and Software-Lesson1: Hardware Components
- 用ajax获取json数据并在网页上面显示小例子
- [编程题]抛小球
- CentOS7执行ifconfig Command not found 未找到命