好,
我在照片中有一个这样的圆圈。
我想将红线旋转到我想要的程度。
圆从0到300度开始。
我开始与
CGFloat wAngle = Degrees2Radians([_Weight.text intValue]/300.0*360);
_Arrow.layer.transform = CATransform3DMakeRotation (wAngle + M_PI, 0, 0, 1);
但在此代码段中,0值位于顶部,而不是底部。
可能是因为我不是三角学的天才... :)
正确旋转箭头的正确方法是什么?
如何设置角度值?
谢谢。
最佳答案
您无需变换度数和弧度。您具有相对价值:
CGFloat relativeAngle = [_Weight.text intValue] / 300.0;
因此,只需使用它:
_Arrow.layer.transform = CATransform3DMakeRotation(relativeAngle * M_PI*2, 0, 0, 1);
如果开始错误,则只需更改视图的初始位置即可。
(或将错误的角度总结为新角度。就像
(relativeAngle * M_Pi*2 + correction)
一样。// what PI means in degrees
M_PI * 2 = 360°
M_PI = 180°
M_PI_2 = 90°
M_PI_4 = 45°
关于objective-c - 旋转线像平衡板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13643399/