2016-06-08 112 views
0

我在我的imageView上有一個動畫,應該使動畫imageView在點擊上滑動。 問題是,當我第一次點擊時,它會從y向下跳200px,然後回到零點。 第二次點擊時,動畫完成它應該做的事,並向上移動,負200px。imageView動畫出錯了

對我來說這絕對沒有意義,它是第二次,但不是第一次。 我試着將imageView的原點設置爲0,0,有一個起點,因爲我認爲這是導致跳躍,和奇怪的動畫,但同樣的交易。

UIView.animateWithDuration(10.0, animations: {() -> Void in 

     self.imageView.frame = CGRectMake(self.imageView.frame.origin.x, -200, self.imageView.frame.size.width, self.imageView.frame.size.height) 
    }) 
+0

是否有任何與imageView關聯的自動佈局(NSLayoutConstraint)? – kennytm

+0

是的,我添加了約束條件來使imageView填充100%* 100%。所以0,0,0,0頂部,左側,底部,右側 – Imbue

回答

1

正如在評論中提到的,你有一個約束。將該約束連接到您的代碼,並在動畫中更新它。然後運行self.view.layoutIfNeeded()

UIView.animateWithDuration(Double(0.5), animations: { 
    self.yourConstraint.constant = //Whatever 
    self.view.layoutIfNeeded() 
}) 
+0

謝謝,從來不知道你可以做到這一點,正是我所需要的。 – Imbue