content ios objective-c uiimagepickercontroller xcode8 ios10

ios - uiimageview content mode



Crear un formato de imagen con un tipo desconocido es un error Objective-C Xcode 8 (6)

Actualice el método UIImagePickerControllerDelegate al nuevo método

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info

DESDE EL METODO ANTERIOR:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

Esto solucionó el problema para mí. Versión IDE: Xcode8.2.1

Al elegir una imagen del selector de imágenes en iOS 10 Objective-C y Xcode 8 . Estoy recibiendo un error

Crear un formato de imagen con un tipo desconocido es un error.

.

Estaba bien para la versión anterior.

Aquí está mi código:

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

y el método delegado para recibir la imagen es ..

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { [picker dismissViewControllerAnimated:YES completion:NULL]; UIImage *myImage = [info objectForKey:UIImagePickerControllerOriginalImage]; }

También probé otra función de delegado ..

-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ }

Pero el error no va.

No estoy seguro de que sea el error de Xcode 8?
Si alguien enfrentó el problema y lo resolvió, por favor ayude a solucionarlo.


Agrega esto.

imgPicker.allowsEditing = YES;


Es un bicho Es solo una falsa advertencia. Nada malo está sucediendo con el funcionamiento de la aplicación, así que ignora la advertencia.


Voy a través de un documento de Apple y uso este

UIImage *chosenImage = info[UIImagePickerControllerOriginalImage];

en el método didFinishPickingMediaWithInfo .

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage *chosenImage = info[UIImagePickerControllerOriginalImage]; imageViewPreview.image = chosenImage; [picker dismissViewControllerAnimated:YES completion:NULL]; }

¡espero que esto ayude!


BitmapInfo este problema agregando la siguiente inicialización del parámetro BitmapInfo que se usaba en la variable de CGContextRef context :

CGBitmapInfo bitmapInfo = kCGImageAlphaNoneSkipLast;

en lugar de CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imageRef);

PD:

Así que ahora mi CGContextRef context ve como sigue

CGContextRef context = CGBitmapContextCreate(NULL, imageSize.width, imageSize.height, CGImageGetBitsPerComponent(imageRef), 0, colorSpace, bitmapInfo); CGColorSpaceRelease(colorSpace);


- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info { UIImage *tempImage = [info objectForKey:UIImagePickerControllerEditedImage]; UIGraphicsBeginImageContext(tempImage.size); [tempImage drawInRect:CGRectMake(0, 0, tempImage.size.width, tempImage.size.height)]; UIImage *image = [UIImage imageWithCGImage:[UIGraphicsGetImageFromCurrentImageContext() CGImage]]; [self.myimageview setImage:image]; UIGraphicsEndImageContext(); [picker dismissViewControllerAnimated:YES completion:nil]; }