-1

UIProgressView を取得して NSTimer (20 秒) にリンクし、進行状況バーをタイマーでスムーズに「カウントダウン」させたいと思います。これについて私が見つけた情報は、私と完全には一致していないようです。

誰でもこれを行う方法を教えてもらえますか?

4

1 に答える 1

-1

NSTimer に関数を呼び出させます。

#define TIMER_INTERVAL 0.05f

[NSTimer scheduledTimerWithTimeInterval:TIMER_INTERVAL
    target:self
    selector:@selector(timerMethod:)
    userInfo: [NSNumber numberWithFloat:1.0f]
    repeats:YES];

次に、関数で、次のように、NSTimer の userInfo プロパティに基づいて UIProgressView を更新します。

-(void) timerMethod: (NSTimer *)timer
{
    float progress = timer.userInfo.floatValue;
    [progressView setProgress:progress animated:YES];

    if (progress <= 0.0f)
        [timer invalidate];
    else
        timer.userInfo = [NSNumber numberWithFloat:(progress - (1.0f/20.0f)*TIMER_INTERVAL)];
}
于 2013-07-19T15:02:09.297 に答える