2011-06-04 3 views
3

Afin de rendre mon habitude UIImagePickerSourceTypeCamera, je devais le faire:Afficher l'obturateur de caméra par programme?

pickerOne = [[UIImagePickerController alloc] init]; 
pickerOne.delegate = self; 
pickerOne.sourceType = UIImagePickerControllerSourceTypeCamera; 
pickerOne.showsCameraControls = NO; 
pickerOne.navigationBarHidden = YES; 
pickerOne.toolbarHidden = YES; 
pickerOne.wantsFullScreenLayout = YES; 

Mais maintenant, quand je prends une photo comme ceci:

[cameraButton addTarget:pickerOne 
       action:@selector(takePicture) 
     forControlEvents:UIControlEventTouchUpInside]; 

il ne montre pas l'obturateur lorsque vous Prends la photo. Existe-t-il un moyen de montrer par programme?

Répondre

2

C'est possible. L'astuce consiste à effectuer les opérations suivantes:

Activer les commandes de la caméra lors de l'initialisation du sélecteur (cela activera la vue de l'obturateur).

pickerOne.showsCameraControls = YES; 

Overlay les commandes de l'appareil avec votre propre point de vue qui a la cameraButton

Dans votre méthode takePicture: effectuer les opérations suivantes:

pickerOne.showsCameraControls = NO; 
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.0]]; 
[pickerOne takePicture]; 

Dans la méthode imagePickerController:didFinishPickingMediaWithInfo: procédez comme suit:

pickerOne.showsCameraControls = YES; // perform on main thread 
+0

Ok! Je vais essayer ... Mais je ne pensais pas que vous pouviez superposer un UIView avec 'showCameraControls'? Si vous pouvez comment? – iosfreak

+0

Cela devrait fonctionner. Je le fais dans CameraLevel Vous pouvez utiliser un UIToolbar, par exemple: 'UIToolbar * toolbar = [[UIToolbar alloc] initWithFrame: CGRectMake (0.0, 480.0-56.0, 320.0, 56.0)]; [pickerOne addSubview: barre d'outils]; ' – diederikh

1

Il n'y a aucun moyen de contrôler l'effet "obturateur". Vous pouvez cependant créer votre propre image et y ajouter l'affect.

+0

Voilà ce que je pensais ... Comment pourrais-je "créer mon propre i mage et ajouter que «affectent là-dedans? Pouvez-vous s'il vous plaît expliquer un peu mieux? Merci. – iosfreak

+0

Vous pouvez éventuellement ajouter une sous-vue 'UIImage' lorsque vous prenez votre photo. – WrightsCS

Questions connexes