Objective c 如何纠正在landscapeLeft模式下旋转设备导致的图像翻转
也许我错过了学校的数学课,但我想不出这一点 我正在从加速度计读取数据,并旋转有关加速度计数据的图像。LandscapeRight的一切都正常工作,但在landscapeLeft中,我的imageView颠倒了。我怎样才能纠正这个问题 简化代码如下:Objective c 如何纠正在landscapeLeft模式下旋转设备导致的图像翻转,objective-c,trigonometry,Objective C,Trigonometry,也许我错过了学校的数学课,但我想不出这一点 我正在从加速度计读取数据,并旋转有关加速度计数据的图像。LandscapeRight的一切都正常工作,但在landscapeLeft中,我的imageView颠倒了。我怎样才能纠正这个问题 简化代码如下: - (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration { double acceleratio
- (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)];
}
cGraffineTransformMakeRotation
需要弧度,因此如果从currentRawReading
中添加或减去M_PI
,您的sw1
应旋转180°