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

标签 objective-c ios ipad

所以这是我第一次使用 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/

相关文章:

ios - Realm 未在 Swift 中调用

ios - 如何确定iPad横屏时右下角的坐标?

html - 编写响应式网站

html - 导航栏不会在 iPad 上折叠 [bootstrap 3]

objective-c - 关于 NSUserDefaults 的问题

ios - 使用NSUserDefaults时,格式字符串未使用Objective-C iOS 10数据参数

php - PHP页面返回垃圾,而不是Objective-C中的返回字符串

ios - 如何找出哪个类(class)插入了我?

ios - Xcode 6 在验证或提交应用存档时崩溃

ios - UILabel 上的 clipsToBounds 不起作用