Have your NSTimer call a function, with
#define TIMER_INTERVAL 0.05f
[NSTimer scheduledTimerWithTimeInterval:TIMER_INTERVAL
target:self
selector:@selector(timerMethod:)
userInfo: [NSNumber numberWithFloat:1.0f]
repeats:YES];
And then in your function, update your UIProgressView based on the userInfo property of the NSTimer, like so:
-(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)];
}