[UIView animateWithDuration:10000 animations:^{
[self.RecomendedBar setProgress:self.whatProgressbarShouldBe animated:NO];
}];
很明显,我在动画块中设置进度,其时间设置为10k
然而它仍然如此之快。不到1秒。
事实上,如果我这样做:
[self.RecomendedBar setProgress:self.whatProgressbarShouldBe animated:NO];
[UIView animateWithDuration:10000 animations:^{
}];
即使进度视图栏位于动画块之外,它仍然会在不到1秒的时间内生成动画。
答案 0 :(得分:1)
执行此操作的一种方法是使用NSTimer生成用于更新进度条的时间间隔。例如,制作一个15秒长的进度条:
NSTimer *progressTimer = [NSTimer scheduledTimerWithTimeInterval:0.25f target:self selector:@selector(updateProgressBar) userInfo:nil repeats:YES];
- (void)updateProgressBar {
float newProgress = [self.progressBar progress] + 0.01666; // 1/60
[self.progressBar setProgress:newProgress animated:YES];
}
在标头中声明updateProgressBar方法。增量为0.016666 ...或1/60,因为0.25秒定时器间隔将在15秒内发生60次。