personas fotos desasociar como añadir album agregar actualizar ios objective-c uiwebview

desasociar - ¿Cómo obtengo una imagen de la biblioteca de fotos de iOS y la muestro en UIWebView?



icloud fotos iphone (5)

Puede cargar la imagen de Photolibrary en webview como se muestra debajo del código

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSURL *urlPath = [info valueForKey:UIImagePickerControllerReferenceURL]; UIImage *cameraImage = [info valueForKey:UIImagePickerControllerOriginalImage]; NSData *myData = UIImagePNGRepresentation(cameraImage); [self.webview loadData:myData MIMEType:@"image/png" textEncodingName:nil baseURL:nil]; [self.picker dismissViewControllerAnimated:YES completion:nil]; }

He visto muchos ejemplos en los que usas el UIImage para generar una imagen. Me gustaría que la salida se establezca en un UIWebView porque quiero poner un formato HTML adicional alrededor de la imagen.

Quiero que la biblioteca de fotos devuelva la ruta relativa de una imagen almacenada en el dispositivo iOS, de modo que pueda poner eso en el atributo ''src'' de la etiqueta HTML ''img''.

es posible?

Editar 1

Tuve que modificar mi código para lo que quería pero esto no parece funcionar.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { //Get Image URL from Library NSURL *urlPath = [info valueForKey:UIImagePickerControllerReferenceURL]; NSString *urlString = [urlPath absoluteString]; NSLog(urlString); NSURL *root = [[NSBundle mainBundle] bundleURL]; NSString *html; html = @"<img src=''"; html = [html stringByAppendingString:urlString]; html = [html stringByAppendingString:@"'' />"]; [MemeCanvas loadHTMLString:html baseURL:root]; [picker dismissViewControllerAnimated:YES completion:^{}]; }

Puedo registrar la URL de la biblioteca de recursos, pero no parece que se muestre la imagen en UIWebView . No sé a qué necesito cambiar la baseURL.

Cualquier ayuda apreciada.

Editar 2

Cambié UIImagePickerControllerReferenceURL a UIImagePickerControllerMediaURL y ahora se bloquea porque no me gusta cuando lo stringByAppendingString:urlString a una cadena con stringByAppendingString:urlString

Me da el error:

Aplicación de terminación debido a la excepción no detectada ''NSInvalidArgumentException'', razón: ''*** - [__ NSCFConstantString stringByAppendingString:]: nil argumento''

¿Sabes lo que podría estar causando esto?


Tenga en cuenta que debe cumplir con el protocolo UIImagePickerControllerDelegate

UIImagePickerController *myImagePicker = [[UIImagePickerController alloc] init]; myImagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; myImagePicker.delegate = self; [self presentViewController:myImagePicker animated:YES completion:nil];

Cargue una imagen y luego muestre en WebView.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { //Get Image URL from Library NSURL *urlPath = [info valueForKey:UIImagePickerControllerReferenceURL]; NSURLRequest *requestObj = [NSURLRequest requestWithURL:urlPath]; [webview loadRequest:requestObj]; }


puede usar el delegado UIImagePickerController para seleccionar la imagen (o url) que desea editar.

Puedes hacer esto así:

UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; imagePickerController.delegate = self; [self presentViewController:imagePickerController animated:YES completion:nil];

en la implementación delegada puede usar la ruta de la imagen o la imagen en sí:

// This method is called when an image has been chosen from the library or taken from the camera. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { //You can retrieve the actual UIImage UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage]; //Or you can get the image url from AssetsLibrary NSURL *path = [info valueForKey:UIImagePickerControllerReferenceURL]; [picker dismissViewControllerAnimated:YES completion:nil]; }


Actualizado para Swift 3.0

let imagePickerController = UIImagePickerController() imagePickerController.sourceType = .PhotoLibrary imagePickerController.delegate = self self.presentViewController(imagePickerController, animated: true, completion: nil)

Y el delegado:

extension YourViewController: UIImagePickerControllerDelegate { func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) { // Whatever you want here self.pickedImage = image picker.dismissViewControllerAnimated(true, completion: nil) } }


Swift 4

class ViewController: UIViewController { var pickedImage:UIImage? @IBAction func ActionChooseImage(sender:UIButton){ let imagePickerController = UIImagePickerController() imagePickerController.sourceType = .photoLibrary imagePickerController.delegate = self self.present(imagePickerController, animated: true, completion: nil) } } extension ViewController: UIImagePickerControllerDelegate,UINavigationControllerDelegate { func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { let image = info[UIImagePickerControllerOriginalImage] as? UIImage self.pickedImage = image picker.dismiss(animated: true, completion: nil) } }

Ref