Bueno, UIImagePickerController
es la herramienta que necesita. Hará la mayoría de las cosas en esa lista de verificación.
Para el botón puede crear un botón personalizado con gráficos o si planea usar una barra de herramientas o una barra de navegación para mantener sus botones, puede crear el botón de barra usando el elemento de sistema UIBarButtonSystemItemCamera
. Esto te dará la imagen del marco.
Al tocarlo, creará una instancia UIImagePickerController
y la presentará de forma modal.
UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
[self presentModalViewController:imagePicker animated:YES];
[picker release];
Como debes haber dado cuenta de que tiene una propiedad delegate
que se define como id < UIImagePickerControllerDelegate, UINavigationControllerDelegate> delegate;
por lo que tendrá que adoptar tanto los protocolos, pero en la mayoría de los casos se implementa sólo dos métodos - imagePickerControllerDidCancel:
y imagePickerController:didFinishPickingMediaWithInfo:
. Existe otro método en el protocolo UIImagePickerControllerDelegate
, pero está en desuso. No lo use, incluso si lo ve mencionado mucho por aquí. Uno esperaría que el manejador de cancelación a escribirse así,
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[self dismissModalViewControllerAnimated:YES];
}
Los otros métodos es donde se hace la mayor parte de las cosas.
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage * image = [info objectForKey:UIImagePickerControllerEditedImage];
// You have the image. You can use this to present the image in the next view like you require in `#3`.
[self dismissModalViewControllerAnimated:YES];
}
La toma se realiza automáticamente por la instancia UIImagePickerController
. Sin embargo, si desea anular sus controles, puede hacerlo configurando showsCameraControls
en NO
y luego implementando su propio cameraOverlayView
. Si lo ha hecho y le ha asignado un botón para tomar la foto, puede disparar la acción de la imagen usando el método takePicture
. Así que esto debería dirigirse al #2
.
Puede usar otras propiedades para ajustar también su selector de imágenes. Por ejemplo, puede limitar al usuario a solo tomar imágenes usando la propiedad mediaTypes
.
Hola Visita este enlace http://stackoverflow.com/questions/10176020/how-to-take-picture-from-camera-using-iphone-app –