所以这是我第一次使用 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,已修复 :)