2012-05-30 9 views
5

Quiero que mi aplicación solo use la cámara frontal. Así que he implementado el siguiente código.UIImageViewController cameraDevice no se utiliza cada vez que se abre la cámara

if ([UIImagePickerControllerisCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront]) { 
    self.imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront; 
} 

Esto funciona la primera vez que abro la cámara (está utilizando la cámara frontal). Pero si cancelo la foto y luego vuelvo a ingresar a la cámara, está utilizando la cámara trasera.

Con cada cancelar/volver a entrar en la cámara, se cambia entre las cámaras delantera y trasera ...

¿Hay algo que me falta?

Respuesta

0
Tr this code .I used this code and it is working fine .Use this code either in button action or viewwillappear or viewdidload and dismiss the camera view properly 
    imgPicker =[[UIImagePickerController alloc] init]; 
    imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    imgPicker.cameraDevice=UIImagePickerControllerCameraDeviceFront; 
    imgPicker.showsCameraControls = YES; 
    imgPicker.allowsEditing = YES; 
    imgPicker.delegate=self; 
    [self presentViewController:imgPicker 
         animated:NO completion:nil]; 
+0

funciona como un encanto – Ruban

0

que estaba teniendo el mismo problema y han resuelto el problema en mi caso mediante la inclusión de autorelease en la llamada para asignar el UIImagePickerController como se muestra aquí

UIImagePickerController * CameraUI = [[[UIImagePickerController alloc] init] autorelease];

+1

No puedo liberar ya que estoy usando ARC. – TrentEllingsen

Cuestiones relacionadas