UIView animationWithDuration持续时间设置未被确认

时间:2011-11-24 18:49:06

标签: objective-c uiview core-animation

我已经在我的项目中实现了animationWithDuration代码块大约5次,但是当我尝试创建一个新类并在viewDidLoad中放置任何类型的动画时,动画也不会遵循我设置它的持续时间。例如,我输入的持续时间为5.0,动画并不关心,仍然在0.5秒内动画。当我创建一个新项目并将确切的代码片段复制到其中时,它完全正常并且动画效果为5秒。这是代码:

[UIView animateWithDuration: 5
                      delay: 0.2
                    options:(UIViewAnimationCurveEaseInOut | UIViewAnimationOptionRepeat |  UIViewAnimationOptionAutoreverse)
                 animations:^{
                     water.transform = CGAffineTransformMakeTranslation(0, 200);
                 } completion:nil];

编辑:一位同事告诉我尝试将其放入viewDidAppear并且有效。但是我仍然想知道为什么,在这个特定的之前的5个ViewControllers中,所有动画放在viewDidLoad中时都有效。我的猜测是,由于某些原因,在这个特定的ViewController中加载图形需要更长的时间。

1 个答案:

答案 0 :(得分:0)

将代码放在viewDidAppear:中,因为您只希望动画在可见时启动。