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

次のように使用できます。

同様の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は、IBOutlet UILabelinterfaceに設定されているです。

于 2012-09-22T11:02:59.590 に答える