iOS --一个倒计时类
来源:互联网 发布:淘宝服饰店铺简介 编辑:程序博客网 时间:2024/06/05 08:46
把btn的风格变成自定义可以不让文字闪
.h
#import <Foundation/Foundation.h>
@interface countDownTool :NSObject
+(instancetype)shareInstance;
-(void) startCounrDown :(UIButton *)button;
@end
--------------------------------------------------------------------------------------------------.m
#import "countDownTool.h"
@implementation countDownTool
+(instancetype)shareInstance
{
static countDownTool *md =nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
if (md==nil)
{
md = [[countDownToolalloc]init];
}
});
return md;
}
-(void) startCounrDown :(UIButton *)button{
__block int timeout=120;//倒计时时间
dispatch_queue_t queue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER,0, 0,queue);
dispatch_source_set_timer(_timer,dispatch_walltime(NULL,0),1.0*NSEC_PER_SEC,0); //每秒执行
dispatch_source_set_event_handler(_timer, ^{
if(timeout<=0){//倒计时结束,关闭
dispatch_source_cancel(_timer);
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示根据自己需求设置
[button setTitle:@"发送验证码"forState:UIControlStateNormal];
//设置视图是否可以接收到用户的事件和消息
button.userInteractionEnabled =YES;
});
}else{
// int minutes = timeout / 60;
int seconds = timeout % 240;
NSString *strTime = [NSStringstringWithFormat:@"%.2d", seconds];
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示根据自己需求设置
NSLog(@"____%@",strTime);
[button setTitle:[NSStringstringWithFormat:@"%@秒",strTime]forState:UIControlStateNormal];
button.userInteractionEnabled =NO;
});
timeout--;
}
});
dispatch_resume(_timer);
}
@end
- iOS --一个倒计时类
- iOS用定时器来制作一个倒计时
- 分享一个Android倒计时类
- iOS倒计时-一个数字在一个label上面
- iOS 倒计时
- IOS倒计时
- IOS倒计时
- iOS倒计时
- iOS --倒计时
- iOS---倒计时
- iOS倒计时
- ios倒计时
- iOS倒计时
- 在iOS启动页增加一个倒计时跳过按钮
- iOS倒计时设计思路和一个系统时间的坑
- iOS开发造轮子 | 优雅的封装一个倒计时button
- IOS按钮倒计时
- iOS NSTimer 实现倒计时
- Error —— 打出log:finished with non-zero exit value 2
- HLS 流媒体技术 笔记
- js 关键字 in 的使用方法
- listview缓慢滚动到顶部的问题
- Java并发之ThreadPoolExecutor和FutureTask
- iOS --一个倒计时类
- 正则表达式,匹配文件名类型
- 连续数打乱,判断出少了哪些数字
- NSThread简介
- iOS开发UI篇—CALayer简介
- SQL 中order by 、group by 、having的用法区别
- 关键字 __typeof__
- LeetCode(107) Binary Tree Level Order Traversal II
- UIButton的UIEdgeInsets功能:设置button上的文字和图片的位置