我使用以下代码为相机创建了一个自定义叠加层:
- (void) showCamera {
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
self.picker = [[UIImagePickerController alloc] init];
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self.picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.picker.showsCameraControls = NO;
self.picker.navigationBarHidden = YES;
self.picker.toolbarHidden = YES;
self.overlay = [[CameraOverlayViewController alloc] init];
self.overlay.pickerReference = self.picker;
self.picker.cameraOverlayView = self.overlay.view;
self.picker.delegate = self.overlay;
[self presentViewController:self.picker animated:NO completion:nil];
}
它在 iphone 4 上运行良好(因为摄像头覆盖了整个屏幕),但在 iphone 5 上,摄像头位于屏幕顶部,底部留下黑色方块。由于我无法更改相机大小,至少我想将其置于屏幕中间,然后将 UIViews 添加为边距(非常类似于苹果的相机胶卷应用程序,其中相机不在屏幕顶部,并且上面和下面都有控件)。
有人可以告诉我在这种情况下如何控制相机框架?此外,由于边距仅用于更好的可视化,我可能不想在 iphone 4 或 ipad 屏幕上显示它们。
提前致谢 !