2011-03-03 4 views
3

Je développe une application qui doit prendre deux photos d'affilée. J'utilise actuellement la caméra de l'iPhone, mais:iPhone sdk - Utiliser un appareil photo personnalisé

  • Je voudrais ne pas avoir le bouton d'annulation en bas à gauche
  • Je voudrais ne pas avoir l'aperçu de ma photo (avec le bouton bleu "utilisation").

Que dois-je faire? Devrais-je faire ma propre caméra? Je ne pouvais pas trouver un tutoriel facile pour un appareil photo personnalisé avec seulement un bouton « prendre la photo » ...

+0

Essayez cette http://stackoverflow.com/a/34433045/3908884 –

Répondre

2

La meilleure façon de le faire est d'utiliser UIImagePickerController avec showsCameraControls ensemble NO et une vue personnalisée définie dans cameraOverlayView; cette vue peut avoir tous les boutons dont vous avez besoin. Lorsque vous le touchez, le bouton doit appeler le takePicture sur le sélecteur d'images, et lorsque vous avez terminé, utilisez dismissModalViewControllerAnimated: pour fermer le sélecteur.

7

Créer un UIImagePickerController à partir du code, ajuster ses propriétés, ajouter une superposition sur celui-ci, et avec vous contrôleur, contrôle tout ce que vous voulez sur cette superposition: contrôles personnalisés, superposant des images, etc ...

Cela 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 pour contrôler tout ce que vous ajoutez sur la superposition.

pickerReference est une propriété que vous pouvez conserver pour envoyer des ordres à la caméra. Par exemple, vous pouvez appeler le suivant d'un IBAction provenant d'un UIButton placé sur la superposition:

[self.pickerReference takePicture]; 
Questions connexes