以iPhone 7,iOS12.1为例:
创新互联公司-专业网站定制、快速模板网站建设、高性价比禹会网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式禹会网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖禹会地区。费用合理售后完善,十余年实体公司更值得信赖。
需要用到的工具:时钟。
一、在桌面找到时钟图标,并轻点打开。
二、在时钟导航栏选择“计时器”并轻点打开。
三、点击“启动”,计时器开始计时。
四、当需要计次的时候点击“计次”即可。
五、屏幕上方的时间就是累计的时间。
苹果秒表悬浮窗设置方法:
步骤设置-—通用-—辅助功能-—assistivetouch-—打开就能看见一个白点就是了其实就是一个代替home键的虚拟按键按主屏幕就能退到桌面按两下主屏幕就能打开桌面设备内还有锁屏旋转静音等功能。
也可以打开手机页面,两个手指按住屏幕,之后同时往中间滑动。然后我们在弹出来的窗口中点击打开“窗口小工具”。然后我们在弹出来的窗口中点击选择喜欢的时钟格式,按住拉到桌面即可。
在开发项目的时候,需要一个计时器来做读秒操作。要求在页面切换的时候,重新进入页面仍然可以继续读秒。但是,当页面pop出来的时候,定时器会自动销毁掉,重新进入页面的时候已经无法继续进行读秒了。
iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD。其本质都是通过RunLoop来实现,但GCD通过其调度机制大大提高了性能。GCD定时器实际上是使用了dispatch源(dispatch source),dispatch源监听系统内核对象并处理。dispatch类似生产者消费者模式,通过监听系统内核对象,在生产者生产数据后自动通知相应的dispatch队列执行,后者充当消费者。通过系统级调用,更加精准。
//–––––––––––––––––––––单例.h––––––––––––––––––––––––
#import
@interface CaptchaTimerManager :NSObject
@property (nonatomic,assign)__blockint timeout;
+ (id)sharedTimerManager;
- (void)countDown;
@end
//–––––––––––––––––––––单例.m––––––––––––––––––––––––
#import"CaptchaTimerManager.h"
@implementation CaptchaTimerManager
+ (id)sharedTimerManager{
static CaptchaTimerManager *manager =nil;
staticdispatch_once_t onceToken;
dispatch_once(onceToken, ^{
if (manager ==nil) {
manager = [[selfalloc]init];
}
});
return manager;
}
- (void)countDown{
if (_timeout 0) {
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);
}else{
_timeout--;
}
});
dispatch_resume(_timer);
}
}
@end
//–––––––––––––––––––––调用––––––––––––––––––––––––
#import "CaptchaTimerManager.h"
@property (weak,nonatomic) IBOutletUIButton *getNUmber;
@property (nonatomic,assign) int timeout;
- (IBAction)getNumberButton:(UIButton *)sender {
_getNUmber.enabled =NO;
_timeout =10; //倒计时时间
[selftimerCountDown];
}
-(void)viewWillAppear:(BOOL)animated{
CaptchaTimerManager *manager = [CaptchaTimerManagersharedTimerManager];
int temp = manager.timeout;
if (temp 0) {
_timeout= temp;//倒计时时间
_getNUmber.enabled =NO;
[selftimerCountDown];
}else{
_getNUmber.enabled =YES;
}
}
- (void)viewWillDisappear:(BOOL)animated{
[superviewWillDisappear:animated];
if (self.timeout 0) {
CaptchaTimerManager *manager = [CaptchaTimerManagersharedTimerManager];
if (manager.timeout ==0) {
manager.timeout =_timeout;
[manager countDown];
}
_timeout = 0;//置为0,释放controller
}
}
//控制器里的计时器
- (void)timerCountDown {
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的处理
});
}else{
dispatch_async(dispatch_get_main_queue(), ^{
//这里写倒计时期间button的处理(重设button的tiitle、用户交互等)
if (_timeout==1) {
self.title =@"输入手机号";
_getNUmber.enabled =YES;
} else {
self.title = [NSStringstringWithFormat:@"%d",_timeout];
}
});
_timeout--;
}
});
dispatch_resume(_timer);
}
总结自下面两篇文章
iOS的几种定时器及区别
iOS 单例计时器(页面切换仍然计时)
demo地址 GitHub - littlePerson/SingletonTimer
欢迎指正批评!
创建一个计时器就行了。
例:
验证60秒
int timeTick;
NSTimer *timer;
timeTick = 61;//60秒倒计时
timer=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeFireMethod) userInfo:nil repeats:YES];
_but.enabled = NO;
-(void)timeFireMethod
{
timeTick--;
if(timeTick==0){
[timer invalidate];
_but.enabled = YES;
[_but setTitle:@"获取验证码" forState:UIControlStateNormal];
}else
{
NSString *str = [NSString stringWithFormat:@"%d秒",timeTick];
[_but setTitle:str forState:UIControlStateNormal];
}
}
上面代码就是实现了一个倒计时60秒的功能。
1.首先打开我们的苹果手机,找到【时钟】后点击打开。
2.打开后找到屏幕下方的【秒表】的标签页。
3.我们要计时是可以点击【启动】,开启秒表功能。
4.秒表开始计时,同时右边按钮变成【停止】,我们计时停止可以点击停止计时。右边的【计次】数字会显示秒表的次数。
苹果在主菜单中找到时钟图标这里设置秒表悬浮功能。
苹果在主菜单中找到时钟图标,然后轻触该图标。您可以在这里设置世界时钟、闹钟、倒计时和秒表功能。在世界时钟选项中,您可以直观地看到北京时间。
如果您想添加其他外国城市,可以单击上面的按钮添加它们。你可以使用iPhone的触摸键盘添加一个世界时钟来显示世界上其他主要城市和时区的时间。如果你找不到一个城市,你可以找到一个主要城市在同一时区的城市。
苹果使用秒表方法
1、解锁手机,进入手机主人界面。
2、找到时钟应用程序并打开它。
3、这时,我们点击下面的秒表图标。
4、此时点击开始,即可计时。
5、开始计数后,我们可以通过点击计数来记录每次的时间。
6、计时器结束后,我们可以点击停止。
7、记录数据后,按复位清除所有数据。