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];
}