我想使用 UIProgressView 并将其与 NSTimer(20 秒)链接,并使进度条与计时器顺利“倒计时”。看来我在这方面找到的信息不太同意我的看法。
谁能告诉我该怎么做?
我想使用 UIProgressView 并将其与 NSTimer(20 秒)链接,并使进度条与计时器顺利“倒计时”。看来我在这方面找到的信息不太同意我的看法。
谁能告诉我该怎么做?
让您的 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)];
}