gpt4 book ai didi

objective-c - 如何防止 UIImagePickerController 改变方向?

转载 作者:行者123 更新时间:2023-11-29 13:34:19 26 4
gpt4 key购买 nike

所以这是我第一次使用 iPad 摄像头,我在使用 UIImagePickerController 时遇到了一些问题,我似乎无法将其锁定为纵向模式。

首先我继承了 UIImagePickerController 并实现了

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
return (interfaceOrientation==UIInterfaceOrientationPortrait);
}

但后来我读到它没有用,因为 UIImagePickerController 不应该被子类化。

接下来我尝试的是通过选择器覆盖,我为它创建了一个类并实现了相同的方法。它仍然不起作用,每次我向选择器显示叠加层时,该方法似乎只被调用一次。

- (void)viewDidLoad{
[super viewDidLoad];
_imagePicker = [[UIImagePickerController alloc] init];
[_imagePicker setDelegate:self];
[_imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[_imagePicker setCameraDevice:UIImagePickerControllerCameraDeviceFront];
[_imagePicker setCameraCaptureMode:UIImagePickerControllerCameraCaptureModePhoto];
[_imagePicker setAllowsEditing:YES];
[_imagePicker setShowsCameraControls:YES];
[_imagePicker setNavigationBarHidden:YES];
[_imagePicker setToolbarHidden:YES];
[_imagePicker setWantsFullScreenLayout:YES];

CameraOverlay *_overlay = [[CameraOverlay alloc] init];
[_overlay set_imagePicker:_imagePicker];
[_imagePicker setCameraOverlayView:_overlay.view];
}

-(IBAction)takePicture:(id)sender {
[self presentModalViewController:_imagePicker animated:YES];
}

我刚刚尝试了其他方法,锁定呈现 View Controller 的方向,但 UIImagePickerController 仍然在各个方向旋转。我注意到的另一件事是方向更改也会更改 UIImagePickerController 的设置。我将相机设置为前置相机,当我用它拍照时,旋转 iPad 并尝试拍摄另一张照片,相机设置为后置相机。很奇怪。

那么我错过了什么,关于如何锁定相机方向有什么建议吗? :)

编辑:混淆了 UIImagePickerController 和 UIPickerView,已修复:)

最佳答案

您始终可以使用 AVFoundation 滚动您自己的相机实现.

关于objective-c - 如何防止 UIImagePickerController 改变方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11034502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com