CGAffineRotation Skews Image Photos
我的iOS已通过
1 2 3 4 5 6 7 8 9 10 11 12 | camAngle = [(NSNumber *)[_cameraToggleButton valueForKeyPath:@"layer.transform.rotation.z"] floatValue]; camDegrees = (RADIANS_TO_DEGREES(camAngle)); if (!(camDegrees == 90)) { _cameraToggleButton.alpha = 0.0; _cameraToggleButton.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(90)); _cameraToggleButton.frame = CGRectMake(274, 350, 66, 54); [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.4]; [UIView setAnimationCurve:UIViewAnimationCurveLinear]; _cameraToggleButton.alpha = 1.0; [UIView commitAnimations]; } |
我的方程式可以转换弧度和度数:
1 2 | #define RADIANS_TO_DEGREES(radians) ((radians) * (180.0 / M_PI)) #define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI) |
视图正确旋转并在屏幕上采取正确的位置,但是图像的侧面突然被压扁,使图像看起来很凝结。仅当将手机旋转到横向位置(向左或向右)时,才会发生这种情况。使用基本相同的代码,上下颠倒或纵向旋转即可平移和旋转视图。是什么原因导致图像在横向位置出现这种倾斜?
在对其设置旋转变换之后,不应设置
1 | _cameraToggleButton.center = CGPointMake(274, 350); |
此外,正如其他人建议的那样,使用