我想设置时间倒计时,比如从 60 秒开始,然后经过 59、58、57 等……这个经过的时间显示在屏幕底部,如何设置?请帮我
提前致谢
您可以通过NSTimer
查看我的示例来做到这一点 - 已声明
NSTimer *timer;
int count;
全球在你的ViewController.h
班级
然后你可以开始你的倒计时viewDidLoad:
方法。
- (void)viewDidLoad
{
//label is your **UILabel**
label.text = @"60";
count = 59;
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDown) userInfo:nil repeats:YES];
}
-(void)countDown
{
if(count > 0)
{
label.text = [[NSNumber numberWithInt:count] stringValue];
count --;
}
else
{
[timer invalidate];
}
}
你可以像这样使用:
在like上声明一个NSTimer
对象@interface
NSTimer *aTimer;
-(void)viewDidLoad
{
aTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(elapsedTime) userInfo:nil repeats:YES];
}
-(void)elapsedTime
{
static int i = 60;
label.text = [NSString stringWithFormat:@"%d",i];
i--;
if(i<0)
{
[aTimer invalidate];
aTimer = nil;
}
}
这里的 label 是 a IBOutlet UILabel
,即设置为 interface。