如何在设置其比例后垂直旋转UIStepper?

时间:2014-02-05 11:57:41

标签: ios ipad

我已将步进器的比例设置如下:

m_stepper1.transform = CGAffineTransformMakeScale(0.6, 0.6);

之后,如果我尝试垂直旋转,它不会对步进器产生任何影响。它没有旋转。我使用以下代码进行轮换:

m_stepper1.transform = CGAffineTransformMakeRotation(M_PI / 2.0);

请有人帮我解决这个问题。

2 个答案:

答案 0 :(得分:2)

您不需要额外的视图来完成此任务,您只需要一个concat转换。您执行此操作的方式会在添加新变换之前重置上一个变换。这将添加两者。

[stepper setTransform:CGAffineTransformConcat(CGAffineTransformMakeRotation(M_PI_2), CGAffineTransformMakeScale(0.6, 0.6))];

但是,如果您想一次进行一次变换,则应使用其中一个将输入变换作为参数的变换。这也将产生您正在寻找的结果。

[stepper setTransform:CGAffineTransformMakeRotation(M_PI_2)];
[stepper setTransform:CGAffineTransformScale(stepper.transform, 0.6, 0.6)];

答案 1 :(得分:0)

您将UIStepper放在UIView上,然后旋转UIView。

【编辑】 答案是我的错。对不起。 正确答案如下。

方法CGAffineTransformMake~CGAffineTransform~有差异。 CGAffineTransformMake~用于第一次转换。 如果要重叠变换,则应使用CGAffineTransform~

这是一个例子。

CGAffineTransform scale = CGAffineTransformMakeScale(0.6f, 0.6f);
stepper.transform = CGAffineTransformRotate(scale, M_PI / 2.0f);

请试一试。