私のアプリで許可されている唯一の向きは横です。私はターゲットの下のプロジェクトのプロパティでこれを強制します > summery でポートレートのみを許可しますshouldAutorotateToInterfaceOrientation
問題は、携帯電話を横向き (横向き) に持って写真を撮ると、UI が縦向きモードのままで、写真が横向きで撮影されることです。
これは、横向きモードでは、縦長モードで取得する縦長の画像 (2448 x 3264) ではなく、3264 x 2448 の横長の画像を取得することを意味します。
次に、ユーザーは画像をトリミングできますが、画像を横向きモードで撮影すると、非常に醜い引き伸ばされた画像になります。境界線を追加したり、UI を横向きに切り替えたりすることはできません。
UIImagePickerController
携帯電話を横向き (横向きモード)に持っていても、強制的に縦長の写真を撮る方法はありますか?
次の設定で初期化しUIImagePickerController
ます。
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;