¿Cómo trabajar con imágenes en aplicaciones de ios
Video: ¿Cómo gestionar tus fotos en Google Fotos?
A continuación demostramos cómo trabajar con imágenes en aplicaciones de iOS, en un nivel de abstracción similar a trabajar con grabaciones de vídeo. Para empezar, que muestra cómo las variables se inicializan en el método viewDidLoad (en concreto, tenga en cuenta la inicialización de la variable miembro localImage).
- (Void) viewDidLoad {[súper viewDidLoad] - // hacer ninguna configuración adicional después de cargar el view.NSString * imagePath = [[NSBundle mainBundle] pathForResource: @"Images.bundle / BookFront"OfType: @"png"] -localImage = [[UIImage alloc] initWithContentsOfFile: imagePath] -}
Aquí puede ver cómo se muestran las imágenes:
- (IBAction) ShowImage: (id) remitente {imageView.image = localImage- [imageView setNeedsDisplay] -}
Por último, aquí está el método takeImage que contiene código para hacer la fotografía:
- (IBAction) takeImage: (id) remitente {UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init] -imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera-imagePicker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil] -imagePicker. delegado = auto - [[UIApplication sharedApplication] setStatusBarHidden: SÍ] - [libre presentViewController: imagePicker animado: SÍ completado: nil] -}
El código para capturar una imagen fija es casi idéntica a la de la grabación de un vídeo. La única diferencia es que la propiedad del objeto mediaTypes imagePicker se establece en kUTTypeImage (mientras que está establecido en kUTTypeMovie al grabar un video).
Por ahora, es probable que aburridamente familiarizado con el uso del controlador de vista como un objeto delegado de imagePicker y con el propósito de los dos métodos siguientes: imagePickerControllerDidCancel y didFinishPickingMediaWithInfo. Este imagePickerControllerDidCancel se llama cuando el usuario cancela la operación:
Video: ¿Cómo ocultar fotos, vídeos y archivos en iPhone? (GRATIS SIN JAILBREAK 2017)
- (Void) imagePickerControllerDidCancel: (UIImagePickerController *) selector {[[UIApplication sharedApplication] setStatusBarHidden: NO] - [selector dismissViewControllerAnimated: SÍ completado: nil] -}
Como se puede ver, didFinishPickingMediaWithInfo se llama después de tomar la fotografía. Aquí, la imagen recién tomada se establece en la vista de imagen del controlador de vista de la imagen.
- (Void) imagePickerController: (UIImagePickerController *) pickerdidFinishPickingMediaWithInfo: (NSDictionary *) Resultados de {localImage = (UIImage *) [Resultados de objectForKey: UIImagePickerControllerOriginalImage] -imageView.image = localImage- [imageView setNeedsDisplay] - [[UIApplication sharedApplication] setStatusBarHidden: NO] - [selector dismissViewControllerAnimated: SÍ completado: nil] -}
El código para utilizar la grabadora de vídeo dentro de una aplicación y el código para la toma de imágenes, así como el código para el envío de e-mail y SMS son muy similares en estructura. En ambos casos, un objeto de un controlador de vista específica de la tarea se crea una instancia por el controlador de vista ejecutando actualmente.
En el caso del correo electrónico, se trata de los MFMailComposeViewController- en el caso de SMS, que es el MFMessageComposeViewController- y en los casos de grabación de vídeo y captura de imágenes, es el UIImagePickerController. El controlador de vista actualmente en ejecución a continuación, establece a sí mismo como un delegado dentro del controlador de vista-tarea específica. Por último, se presenta el controlador de vista de tareas específicas, y las actuales salidas de controlador de vista.
Cuando el controlador de vista-tarea específica (es decir, la instancia de la UIImagePickerController, la MFMailComposeViewController, o la MFMessageComposeViewController) salidas, el método delegado del controlador de vista original se llama, ya sea para procesar los datos devueltos por la grabadora o la cámara o para hacer frente a los errores y las cancelaciones.