2010-08-02 68 views
1

我在我的应用程序中大部分时间都有很多基于UIView的动画。我希望能够处理所有的设备旋转,但是当已经有动画发生时触发设备旋转时,性能始终会受到影响。在设备旋转过程中处理正在进行的UIView动画

我不知道这种情况下的最佳做法是什么?

当我有一个设备旋转时,我应该继承所有的UIView元素以跳过所有动画实例到最后一帧吗?或者当有动画时,我应该禁用设备旋转吗? (看起来不太好主意。)

期待你的想法。谢谢。 :)

回答

0

您可以在旋转前禁用昂贵的动画,并在旋转完成后重新启用它们。有关更多详细信息,请参阅文档中的UIViewController的willRotateToInterfaceOrientation:duration:didRotateFromInterfaceOrientation:方法。

+0

谢谢。 要继续,那么禁用/重新启用动画的最常见方法是什么?我尝试过UIView的setAnimationsEnabled:,但它也删除了旋转过渡动画。我应该使用CALayer来处理这种情况? :) – Liz 2010-08-02 15:34:39

+0

抱歉不知道,可能你真的必须使用CALayer动画 – Vladimir 2010-08-02 18:02:53