UIImagePickerController: проверьте, не вернулось ли изображение в альбомной или портретной ориентации?

Таким образом, UIImagePickerController не поддерживает ландшафтную ориентацию. Тем не менее, есть часть приложения, где важно, чтобы изображение, которое поступает от контроллера, распознается либо в портретном, либо в альбомном формате.

Я могу справиться с этим до сих пор при импорте изображения из своей библиотеки с помощью UIImagePickerController. Я просто сравниваю ширину и высоту UIImage. Однако, когда я захватываю изображение с помощью UIImagePickerController, эта функция не будет работать так, как есть.

Есть ли какая-то дополнительная информация, которую UIImagePickerController может предоставить мне, чтобы определить, была ли она записана в ландшафтном режиме? Существует ли творческий способ эмуляции этой функции для привязки фотографий с помощью UIImagePickerController?

Я использовал это, чтобы проверить и исправить ориентацию, если вам нужно ее исправить.

 switch (image.imageOrientation) { case UIImageOrientationDown: case UIImageOrientationDownMirrored: transform = CGAffineTransformTranslate(transform, imageSize.width, imageSize.height); transform = CGAffineTransformRotate(transform, M_PI); break; case UIImageOrientationLeft: case UIImageOrientationLeftMirrored: transform = CGAffineTransformTranslate(transform, imageSize.width, 0); transform = CGAffineTransformRotate(transform, M_PI_2); break; case UIImageOrientationRight: case UIImageOrientationRightMirrored: transform = CGAffineTransformTranslate(transform, 0, imageSize.height); transform = CGAffineTransformRotate(transform, -M_PI_2); break; case UIImageOrientationUp: case UIImageOrientationUpMirrored: break; } /////////////// or u just do it in this way: if (image.imageOrientation == UIImageOrientationUp) { NSLog(@"portrait"); } else if (image.imageOrientation == UIImageOrientationLeft || image.imageOrientation == UIImageOrientationRight) { NSLog(@"landscape"); }