Есть ли способ узнать текущий угол наклона телефона, даже если телефон находится в портретной блокировке и пытается захватить изображение, удерживая его в положении правой руки (в горизонтальной ориентации) или в положении левой руки (в альбомной ориентации)?
Всякий раз, когда я снимаю изображение в положении правой руки (удерживая кнопку «домой» справа), я получаю его правильно, но всякий раз, когда я снимаю изображение в положении левой руки, получаю перевернутое изображение (изображение повернуто на 180 градусов),Как решить эту проблему?
Я пробовал это, но бесполезно, ориентация becoz всегда будет портретной
UIDeviceOrientation orientation=[[UIDevice currentDevice] orientation];
// Do Orientation operations
if (orientation == UIDeviceOrientationLandscapeRight)
{
MYLog(@"LandRight");
rotation = [NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(90 * (M_PI/180))];
}
else if(orientation == UIDeviceOrientationLandscapeLeft){
MYLog(@"LandLeft");
rotation = [NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(-90 * (M_PI/180))];
}
else if(orientation == UIDeviceOrientationPortrait){
MYLog(@"porttttt");
rotation = [NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(0 * (M_PI/180))];
}
else if(orientation == UIDeviceOrientationPortraitUpsideDown)
{
MYLog(@"portupdown");
rotation = [NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(1 * (M_PI/180))];
}
else if(orientation == UIDeviceOrientationFaceUp)
{
MYLog(@"faceup");
rotation = [NSValue valueWithCGAffineTransform:CGAffineTransformMakeRotation(-90 * (M_PI/180))];
}
[transform setValue:rotation forKey:@"inputTransform"];
enhancedImage = [transform outputImage];
Захват в любом случае не должен поворачивать изображение вообще.