如何在landscapeLeft模式下校正由旋转设备引起的图像翻转

时间:2013-06-26 21:04:42

标签: objective-c trigonometry

可能我在学校错过了数学课,但无法弄明白。

我正在从加速计读取数据并旋转关于加速度计数据的图像。一切都在使用LandscapeRight,但在landscapeLeft中,我的imageView被颠倒翻转。我怎么能纠正这个?

以下简化代码:

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{

    double accelerationX = acceleration.x;
    double accelerationY = -acceleration.y;
    double currentRawReading = atan2(accelerationY, accelerationX);
    [self.sw1 setTransform:CGAffineTransformMakeRotation((CGFloat) -currentRawReading)];

}

1 个答案:

答案 0 :(得分:0)

CGAffineTransformMakeRotation需要弧度,因此如果您从M_PI添加或减去currentRawReadingsw1应该再旋转180°。