CGAffineTransformRotate每次都从一个新的变换开始

时间:2010-10-18 09:35:52

标签: iphone objective-c

在我的代码中,我有一张表,在我的表格中,我有一个滑块,我将其转换为垂直。

metricSlider.transform = CGAffineTransformRotate(metricSlider.transform, 270.0/180*M_PI);

但是每次调用代码来绘制滑块时,它当然会在先前应用的变换之上应用变换。

而不是metricSlider.transform是否有一些默认值我可以用来告诉它从原始位置应用它,以便它只转换一次?

我可以添加一个bool来跟踪它是否被转换并根据需要设置并重置bool,但这最终可能会允许错误并使代码在将来更难以遵循。

有更好的解决方案吗?

1 个答案:

答案 0 :(得分:3)

尝试:

metricSlider.transform = CGAffineTransformMakeRotation( 270.0/180*M_PI );

或者您可以转换身份转换(CGAffineTransformIdentity

metricSlider.transform = CGAffineTransformRotate(CGAffineTransformIdentity, 270.0/180*M_PI);