iOS - Gestione della fotocamera

La fotocamera è una delle funzionalità comuni in un dispositivo mobile. È possibile per noi scattare foto con la fotocamera e utilizzarla nella nostra applicazione ed è anche abbastanza semplice.

Gestione della telecamera - Passaggi coinvolti

Step 1 - Crea un semplice View based application.

Step 2 - Aggiungi un file button in ViewController.xib e creare IBAction per il pulsante.

Step 3 - Aggiungi un file image view e creare IBOutlet denominandolo come imageView.

Step 4 - Aggiorna ViewController.h come segue -

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIImagePickerControllerDelegate> {
   UIImagePickerController *imagePicker;
   IBOutlet UIImageView *imageView;
}

- (IBAction)showCamera:(id)sender;
@end

Step 5 - Aggiorna ViewController.m come segue -

#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

Produzione

Quando eseguiamo l'applicazione e facciamo clic sul pulsante Mostra fotocamera, otterremo il seguente output:

Una volta scattata una foto, possiamo modificare l'immagine, ovvero spostarla e ridimensionarla come mostrato di seguito -