2012-11-12 36 views
-1

我得到了下面的代码:iOS版动画阵列DESC

test.image = [testArray lastObject]; 
test.animationImages = testArray; 
test.animationDuration = 1; 
test.animationRepeatCount = 1; 
[test startAnimating]; 

我相信有一天我看,这是可能的“倒带”的动画,但我无法找到任何解决方案更多 - 是有没有比排序(DESC)数组更好的解决方案?

谢谢!

回答

2

您可以通过访问reverseObjectEnumerator的对象扭转动画:

testArray = [[testArray reverseObjectEnumerator] allObjects]; 

然后,您可以传递到动画:

test.image = [testArray lastObject]; 
test.animationImages = [[testArray reverseObjectEnumerator] allObjects]; 
test.animationDuration = 1; 
test.animationRepeatCount = 1; 
[test startAnimating]; 

或者你可以看看UIViewAnimationOptionAutoreverse,但我不确定这完全是你要找的。

0

您正在使用的是动画可能性有限的UIImageView。恢复动画是可能的,但使用基于CoreAnimation的动画。您有两种选择,具体取决于您的动画所需的控制级别。

  • 继续使用UIImageView,做MAX_暗示什么:修改图像阵列,这样动画结束了,只要你想正在播放(如果你需要发挥它向前然后向后,你可能会进一步改变阵列获得该效果,每个图像必须在阵列中出现多次才能达到此效果)

  • 切换到CALayer动画。您必须将UIImages的数组转换为CGImages的数组,然后创建一个CABasicAnimation,该图的content关键路径上运行。然后,您将拥有所有需要的控制,包括自动反向动画的选项,因为动画对象实现了允许这种东西的CAMediaTiming协议。