1

我以这种方式为 UIImageView 设置动画:

int timerAnimation = 0.0f;

for (UIImageView* img in imageArray) {

timerAnimation = timerAnimation + 1.0f;

[UIView animateWithDuration:1.0f
                      delay:timerAnimation
                    options:UIViewAnimationOptionCurveEaseIn
                 animations:^(void) {
                     img.frame = CGRectMake(20, img.frame.origin.y, 710, 60);
                 }
                 completion:NULL];

我想减少延迟时间,但我注意到如果我输入任何低于 1.0 的值,

例如

timerAnimation + 0.5f;

然后所有对象都在保存时间移动,好像没有延迟一样。为什么是这样?

4

1 回答 1

5

你正在使用一个int!

int timerAnimation = 0.0f;

它应该是一个浮点数:

CGFloat timerAnimation = 0.0f;

int 不支持分数,因此您只能向其添加整数 (1.0) 而不能添加半数 (0.5)

于 2012-12-12T19:56:56.343 回答