项目中可能会遇到有些倒计时的地方
比方 手机验证的时候,验证码一般都会有一个时间限制,此时在输入验证码的地方就须要展示一个倒计时
详细实现方式是使用了iOS 自带的 NSTimer
上代码
首先新建
int secondsCountDown; //倒计时总时长
NSTimer *countDownTimer;
UILabel *labelText;
然后详细实现
//创建UILabel 加入到当前view
labelText=[[UILabel alloc]initWithFrame:CGRectMake(10, 120, 120, 36)];
[self.view addSubview:labelText];
//设置倒计时总时长
secondsCountDown = 60;//60秒倒计时
//開始倒计时
countDownTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeFireMethod) userInfo:nil repeats:YES]; //启动倒计时后会每秒钟调用一次方法 timeFireMethod
//设置倒计时显示的时间
labelText.text=[NSString stringWithFormat:@"%d",secondsCountDown];
实现每秒钟运行的方法
-(void)timeFireMethod{
//倒计时-1
secondsCountDown--;
//改动倒计时标签现实内容
labelText.text=[NSString stringWithFormat:@"%d",secondsCountDown];
//当倒计时到0时。做须要的操作,比方验证码过期不能提交
if(secondsCountDown==0){
[countDownTimer invalidate];
[labelText removeFromSuperview];
}
}
大致已经实现,有问题可继续交流
苹果开发群 :414319235 欢迎增加 欢迎讨论问题