Paso 4: Delegar los métodos
En primer lugar es para el usuario golpea el botón Cancelar.
- Agregue el método - (void) imagePickerControllerDidCancel: (UIImagePickerController *) Selector {}
- La línea sólo que tienes que añadir en este método es:
[selector dismissModalViewControllerAnimated:YES]; despide el controlador de la cámara
En segundo lugar es para guardar fotos y videos
- Agregue el método - (void) imagePickerController: (UIImagePickerController *) info selector didFinishPickingMediaWithInfo:(NSDictionary *)
- primero declaramos nuestras variables:
NSString * mediaType = [objectForKey info: UIImagePickerControllerMediaType];
UIImage * originalImage, * editedImage, * imageToSave;
- Luego vamos a nuestro proceso para guardar una imagen
Proceso para guardar una imagen
Si (CFStringCompare (mediaType (CFStringRef), kUTTypeImage, 0)
== kCFCompareEqualTo) {//if es una imagen
editedImage = (UIImage *) [info objectForKey:
UIImagePickerControllerEditedImage]; Asignar la imagen editada a editedImage
originalImage = (UIImage *) [info objectForKey:
UIImagePickerControllerOriginalImage]; Asignar la imagen original de originalImage
Verifique para ver si había hecho una imagen editada, si es así, utilice utilizar el original
Si (editedImage) {}
imageToSave = editedImage;
} else {}
imageToSave = originalImage;
}
Guardar la imagen en el Camera Roll
UIImageWriteToSavedPhotosAlbum (imageToSave, nil, nil, nil);
}
- Para video:
Proceso para guardar un video
Si (CFStringCompare (mediaType (CFStringRef), kUTTypeMovie, 0)
== kCFCompareEqualTo) {//if es un video
definir la película
NSString * moviePath = [[objectForKey info:
Trayectoria de UIImagePickerControllerMediaURL]];
Si es posible, guardar en el rollo de cámara
Si (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) {}
() UISaveVideoAtPathToSavedPhotosAlbum
moviePath, nil, nil, nil);
}
}
- Luego para limpiar, despedir el controlador y cambiar la vista de la imagen a la imagen que acaba de tomar (si es una imagen):
[picker dismissModalViewControllerAnimated: YES]; Despedir el controlador
[self.imageView setImage:imageToSave]; Asignar la imagen a la vista de la imagen