我已经在我的项目中实现了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中加载图形需要更长的时间。
答案 0 :(得分:0)
将代码放在viewDidAppear:
中,因为您只希望动画在可见时启动。