Создайте UIImagePickerController
из кода, настройте его свойства, добавьте на него наложение, и с вашим контроллером управляйте всем, что вы хотите на этом наложении: пользовательские элементы управления, наложение изображений и т. Д. *
Это дает что-то вроде этого:
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.picker.wantsFullScreenLayout = YES;
// Insert the overlay
self.overlay = [[OverlayViewController alloc] initWithNibName:@"Overlay" bundle:nil];
self.overlay.pickerReference = self.picker;
self.picker.cameraOverlayView = self.overlay.view;
self.picker.delegate = self.overlay;
[self presentModalViewController:self.picker animated:NO];
OverlayViewController
- это контроллер, который вы должны написать, чтобы контролировать все, что вы добавляете в оверлей.
pickerReference
- это свойство, которое вы можете сохранитьотправлять заказы на камеру.Например, вы можете вызвать следующее из IBAction
из UIButton
, помещенного на оверлей:
[self.pickerReference takePicture];