2013-06-24 88 views
0

我有幾個UI元素在使用自動佈局和約束定位的筆尖。當視圖負載我使用奇怪的結果使用CGAffineTransformIdentity

[self.button setTransform:CGAffineTransformMakeTranslation(-self.button.frame.origin.x * 2 + self.button.frame.size.width, 0)]; 

然後移出屏幕的元素時的視圖顯示我使用以下方法來緩解按鈕到頁面上的正確位置。但它似乎移動得太遠了。

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 
[UIView setAnimationDuration:2]; 
    [self.button setTransform:CGAffineTransformIdentity]; 
[UIView commitAnimations]; 

我做錯了什麼?用CGAffineTransform將按鈕從屏幕上移開是否有更好的方法?

任何幫助將是巨大的

+0

好像按鈕的原始幀的最佳方式造成的是不是您所期望它是。如果您在此註釋掉第一行代碼,將按鈕從屏幕上移開,按鈕在哪裏? –

+0

該按鈕出現在屏幕上的正確位置,如果我註釋掉第一行,這就是爲什麼我感到困惑,爲什麼CGAffineTransformIdentity不工作。我猜測它的自動佈局和約束 –

+0

首先:你應該使用基於塊的動畫。 – holex

回答

1

這件事是通過自動佈局和動畫UI元素使用自動佈局時,是改變的制約