-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 回答