我有一些計數器從多個UIScrollViews包含圖像的數字構建。 計數器定期更新爲新舊號碼和動畫持續時間。 更新實際上是循環始終遞增+1的計數器。 當我把它放到動畫塊中時,動畫就像我剛剛更新爲toValue一樣執行,就像沒有for循環一樣。動畫多個uiscrollviews計數器像
我想要的是以線性方式執行的動畫,我想看看每個數字(如果動畫不是太快,那不是)。在一些奇怪的場景中,計數器只跳轉到[fromValue,toValue]間隔中的一些隨機數字而沒有動畫,然後動畫跳轉到toValue。
有什麼建議嗎?這裏是一些代碼
- (void) setDigit:(UIScrollView*)digit withValue:(int)value
{
CGFloat height = digit.frame.size.height;
[digit setContentOffset:CGPointMake(0, height * value) animated:NO];
}
- (void) updateValue:(int) value
{
for (int i = 5; i >= 0; i--)
{
int a = value % 10;
value = value/10;
[self setDigit:[digits objectAtIndex:i] withValue:a];
}
}
- (void) transitFromValue:(int)fromValue toValue:(int)toValue withDuration:(float)duration
{
[UIView animateWithDuration:duration
delay:0.0
options:UIViewAnimationCurveLinear
animations:^ {
for (int tValue = fromValue; tValue <= toValue; tValue++)
{
[self updateValue:tValue];
}
}
completion:^(BOOL finished) {
}];
}