Forçar UIImagePickerController a tirar foto em orientação retrato / dimensões iOS
A única orientação permitida no meu aplicativo é paisagem. Eu forço isso nas propriedades do projeto em target> summery e só permiti retrato emshouldAutorotateToInterfaceOrientation
O problema é quando eu tiro uma foto enquanto seguro o telefone horizontalmente (paisagem), a foto será tirada na orientação paisagem, enquanto a interface do usuário permanece no modo retrato.
Isso significa que no modo paisagem eu recebo uma imagem ampla de 3264 x 2448 em vez da imagem alta (2448 x 3264) eu recebo no modo retrato.
Em seguida, o usuário pode cortar a imagem, mas se a imagem for tirada no modo paisagem, recebo imagens muito feias. Adicionar bordas ou alternar a interface do usuário para paisagem não é uma opção.
Existe uma maneira de forçar oUIImagePickerController
tirar uma foto em dimensões retrato mesmo que o telefone esteja na horizontal (modo paisagem)?
Eu inicializo oUIImagePickerController
com as seguintes configurações:
imagePicker =[[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
imagePicker.showsCameraControls = NO;
imagePicker.modalPresentationStyle = UIModalPresentationFullScreen;
imagePicker.wantsFullScreenLayout = YES;
imagePicker.cameraViewTransform = CGAffineTransformScale(imagePicker.cameraViewTransform,CAMERA_TRANSFORM, CAMERA_TRANSFORM);
imagePicker.navigationBarHidden = YES;
imagePicker.toolbarHidden = YES;
[self presentModalViewController:imagePicker animated:NO];
imagePicker.cameraOverlayView = self.cameraOverlay;
imagePicker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;