使用CGAffineTransformIdentity的奇怪结果

时间:2013-06-24 19:27:08

标签: objective-c core-animation core-graphics

我在nib中有几个使用自动布局和约束定位的UI元素。当视图加载时,我使用

将元素移出屏幕
[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将屏幕移出屏幕?

任何帮助都会很棒

1 个答案:

答案 0 :(得分:1)

问题是由autolayout引起的,使用autolayout时动画UI元素的最佳方法是更改​​约束