2015-11-28 96 views
1

我遇到了動畫問題。 image視圖從規模1開始。我想縮小它。代碼似乎簡單:iOS動畫:CGAffineTransformMakeScale在收縮前增長

image.transform = CGAffineTransformIdentity // <<-- seems to have no effect 
UIView.animateWithDuration(5.0, animations: {() -> Void in 
    self.image.transform = CGAffineTransformMakeScale(0.5, 0.5) 
    }) { (Bool) -> Void in 
     // code for next steps 
    } 

的問題:圖像的第一生長看起來好象反比於目標比例因子(兩次規模0.5,10倍規模爲0.1)。然後它縮回到原始尺度(就像做實際尺度變換所說的那樣)。您可以在動畫中看到它:代碼在警報視圖中確認後執行。

why grow before shrink?

爲什麼圖像收縮前成長?變換的初始化(使用CGAffineTransformIdentity)似乎沒有效果。我發現另一個question似乎是關於同樣的問題,但沒有答案。幫助讚賞!

回答

0

看着我爲這個問題創建的動畫的GIF,我注意到還有其他動畫也在同一圖像上發生:圖像稍微高頻旋轉。

我使負責旋轉動畫的計時器無效並且縮放動畫現在可以正常工作。

所以,問題是多個動畫(一個旋轉和所涉及的規模)之間的干擾作用於相同的圖像視圖。