2014-03-28 76 views
0

我用這個代碼將我的觀點UIView的變換工作奇怪

[UIView animateWithDuration:0.3 animations:^{ 
    [MyView setTransform:CGAffineTransformMakeTranslation(260, 0)]; 
} completion:^(BOOL finished) { 
}]; 

MyView的是self.view的子視圖

我想將它與260

向右移動,但它會首先移動到130左側,沒有動畫

然後右移260並生成動畫

我不知道爲什麼MyView先移到左邊?

回答

0

的問題是,您使用的自動佈局。對於簡單的動畫,嘗試關閉故事板中的自動佈局。

您的動畫應該按照預期工作。

+1

我把上面的代碼關掉了,它從原始位置移動到你想要的位置(260)而不會向後跳動。 – Unheilig

0

我想問題是,MakeTranslation函數正在讓您的視圖重置它的位置之前,動畫到新的變換。

試試這個:

[UIView animateWithDuration:0.3 animations:^{ 
    [MyView setTransform:CGAffineTransformTranslate(myView.transform, 260, 0)]; 
} completion:^(BOOL finished) { 
}]; 
+0

我試過了,情況看起來就像是一樣的...... QQ – user1960970