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: