0

我想设置时间倒计时,比如从 60 秒开始,然后经过 59、58、57 等……这个经过的时间显示在屏幕底部,如何设置?请帮我

提前致谢

4

2 回答 2

2

您可以通过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];
    }
}
于 2012-09-22T11:01:57.563 回答
2

你可以像这样使用:

在like上声明一个NSTimer对象@interfaceNSTimer *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。

于 2012-09-22T11:02:59.590 回答