Oui, créer un UIImagePickerController de code, d'ajuster ses propriétés, ajouter une superposition sur elle, et avec vous, contrôleur, contrôle que vous voulez sur ce segment : les contrôles personnalisés, en superposant les images, etc...
Qui donne quelque chose comme ceci :
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
est le contrôleur que vous devez écrire à contrôler tout ce que vous ajoutez sur la superposition.
pickerReference
est une propriété que vous pouvez garder pour vous envoyer des commandes de la caméra. Par exemple, vous pourriez appeler la suivante à partir d'une IBAction à venir à partir d'un UIButton placé sur le recouvrement :
[self.pickerReference takePicture];