1

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

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

那么我错过了什么,请就如何锁定相机方向提出任何建议?:)

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

4

1 回答 1

1

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

于 2012-06-14T17:29:12.417 回答