iOS: gestión de la cámara
La cámara es una de las características comunes de un dispositivo móvil. Es posible que tomemos fotos con la cámara y la usemos en nuestra aplicación y también es bastante simple.
Gestión de la cámara: pasos a seguir
Step 1 - Crea un sencillo View based application.
Step 2 - Agregar un button en ViewController.xib y cree IBAction para el botón.
Step 3 - Agregar un image view y crea IBOutlet nombrándolo como imageView.
Step 4 - actualización ViewController.h como sigue -
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UIImagePickerControllerDelegate> {
UIImagePickerController *imagePicker;
IBOutlet UIImageView *imageView;
}
- (IBAction)showCamera:(id)sender;
@end
Step 5 - actualización ViewController.m como sigue -
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)showCamera:(id)sender {
imagePicker.allowsEditing = YES;
if ([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeCamera]) {
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
} else {
imagePicker.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
}
[self presentModalViewController:imagePicker animated:YES];
}
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
if (image == nil) {
image = [info objectForKey:UIImagePickerControllerOriginalImage];
}
imageView.image = image;
}
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[self dismissModalViewControllerAnimated:YES];
}
@end
Salida
Cuando ejecutamos la aplicación y hacemos clic en el botón Mostrar cámara, obtendremos el siguiente resultado:
Una vez que tomamos una foto, podemos editar la imagen, es decir, mover y escalar como se muestra a continuación: