2010-08-02 82 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