2013-06-24 93 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元素使用自动布局时,是改变的制约