2015-06-26 70 views
0

我動畫約束的常用方法:iOS版 - 取消限制動畫

centerXsettingsBtnConstraint.constant = aValue; 

[UIView animateWithDuration:.5 
       animations:^{ 

         [self.view layoutIfNeeded]; 

       } completion:^(BOOL finished) { 
         isAnimating = NO;}]; 

當我轉我想取消與新值這個動畫和更新約束裝置。

席力圖召

[self.view.layer removeAllAnimations]; 

但動畫卻還在繼續,直到裝置的旋轉結束。只有這樣我才能更新新的約束條件,但在旋轉過程中,屏幕上一片混亂。

有沒有辦法取消約束動畫?

回答

1

必須調用remove每個子視圖..方法:

[self.view.layer removeAllAnimations]; 

我會用斯威夫特:

for eachView in self.view.subviews { 
    eachView.layer.removeAllAnimations() 
} 
+2

你有一個備用選項:這可能回答這個問題,但會更有用[證據](// meta.stackexchange.com/a/7693/206345)來支持它,例如一個簡短的程序,或指向文檔或規範的鏈接。 – Mogsdad