向后进度条(倒计时)

时间:2013-07-19 14:48:08

标签: iphone ios nstimer uiprogressview

我想使用UIProgressView并将其与NSTimer(20s)链接,并使用计时器顺利进度条“倒计时”。我在这方面发现的信息似乎与我并不完全一致。

谁能告诉我怎么做?

1 个答案:

答案 0 :(得分:-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)];
}