2012-11-21 90 views
15

我已經無限動畫(旋轉圖像,類型:CABasicAnimation)當我推新視圖控制器與無限CABasicAnimation停止

animation.repeatCount = HUGE_VALF; 

在我UIView並返回到初始的ViewController包含觀看動畫在裏面,旋轉停止了。

即使我在調用ViewController的viewWillAppear方法時再次設置動畫,它將不會再次旋轉。

我在做什麼錯?

+0

我看不出Xcode與此有什麼關係。 – 2012-11-21 20:02:39

+0

你說得對。我刪除了xcode標籤。 – pinki

+0

謝謝。隨意爲一般的iOS編程問題使用「ios」和「cocoa-touch」標籤。 – 2012-11-21 20:26:07

回答

45

居然還有就是爲了解決這個
動畫設置爲這個

animation.removedOnCompletion = false 

當NavigationController推向另一個視圖控制器的視圖層本身不被破壞,因爲UINavigationController的得到了viewControllers屬性將保留一個簡單的方法原始viewController,因此它的視圖和你的動畫層。 即使您將其repeatCount設置爲無限時,也會將此CABasicAnimation對象銷燬。因此,將removedOnCompletion設置爲false以保留它

+1

是的。我的動畫在iOS8上運行良好,但iOS9需要此設置。 – SoftDesigner

+0

優秀的答案! – philouuuu

+0

這條線節省了我可能浪費的時間。 –

4

當從屏幕上移除圖層時,會丟失其動畫。一旦圖層再次出現在屏幕上,您需要將它們添加回來。

viewWillAppear:爲時尚早,因爲該圖層實際上並不在屏幕上。嘗試在viewDidAppear:中添加動畫。

+0

我以爲我已經嘗試'viewDidAppear',但似乎我沒有。非常感謝你! :) – pinki

+3

我嘗試在viewDidAppear應用程序進入後臺模式並返回後,它甚至不叫! –

+0

嘗試觀察'UIApplicationDidBecomeActive'通知並在那裏重新添加動畫。 –