0

我在一个按钮上有多个动画,我正在使用 CGAffineTransformMakeTranslation 来执行此操作。

是否可以仅使用一个参数,仅使用“x”或仅使用“y”?

我已经尝试了一切,但无法使其工作:

 button.transform = CGAffineTransformMakeTranslation(nil, 10);

 button.transform = CGAffineTransformMakeTranslation(NULL, 10);

 etc, etc...

或将其设为当前位置的“x”。如果我使用 0 它会将按钮带到原始位置。

是否有可能做到这一点?

谢谢!!

4

3 回答 3

0

传递 0。沿轴平移 0 不会产生任何变化,因为 0 是加法的标识(这就是平移)。

button.transform = CGAffineTransformMakeTranslation(0, someYValue);
于 2012-09-05T07:23:08.573 回答
0

仅在 x 方向平移:

CGAffineTransformMakeTranslation(x, 0.0);

仅在 y 方向平移:

CGAffineTransformMakeTranslation(0.0, y);
于 2012-09-05T07:24:35.000 回答
0

CGAffineTransformTranslate保留之前的变换。因此,您可以调用CGAffineTransformTranslate(myview.transform,0,y)或任何适合您的方法。

CGAffineTransform CGAffineTransformTranslate (
   CGAffineTransform t,
   CGFloat tx,
   CGFloat ty
);
于 2012-09-05T07:28:20.787 回答