CGAffineTransformTranslate翻译时的Jerks

时间:2013-07-01 15:32:19

标签: ios uiviewanimation cgaffinetransform

我有一个带有按钮的视图,当按钮通过简单的翻译进行点击时会向上移动。但是,当使用CGAffineTransformTranslate时,UIButton似乎也向下移动了几个点。我该如何解决这个动画?

- (IBAction)moveButton:(id)sender {
    UIButton *button = (UIButton *)sender;

    [UIView animateWithDuration:2.4f
                          delay:0.0f
                        options:UIViewAnimationOptionCurveEaseInOut
                     animations:^{

                         button.transform = CGAffineTransformTranslate(button.transform, 0, -49);
                     }
                     completion:^(BOOL finished){}
     ];

}

how it looks at the moment

1 个答案:

答案 0 :(得分:1)

你的代码工作正常;问题必须在别处。

确保您没有在干扰翻译的其他地方进行任何布局工作。如果您为按钮设置了Autolayout约束,则可能会导致您看到的行为。您可以在文件检查器中禁用此UIView的Autolayout(至少暂时),以查明是否属于这种情况。

您可能需要考虑更改按钮的框架而不是应用转换。