Publicar imágenes de la cámara Roll a Facebook en Xcode 4.5
Pregunta
Tengo alguna funcionalidad configurada.Pero estoy perdido en dónde ir desde aquí.Probablemente pueda averiguar qué hacer con Facebook una vez que sepa cómo usar realmente las imágenes.Intenté guardar la imagen en nsdicticario y luego redirigirme a un controlador de visión diferente, pero no me permitirá redirigirlo desde el método ImagePickController.¿Así que alguien tiene alguna idea de cómo usar la imagen seleccionada de la rueda de la cámara?
Mi próxima idea fue guardarla en el ° Forma y luego solo tener una declaración de declaración para ver si el valor de NSDictionary cambió, pero esa no es una forma eficiente de hacerlo en absoluto.
editado a continuación para incluir la respuesta proporcionada, pero no pasa nada, ninguna imagen muestra ni nada.¿Qué estoy perdiendo?
- (void) useCameraRoll
{
if ([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
UIImagePickerController *imagePicker =
[[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.mediaTypes = [NSArray arrayWithObjects:
(NSString *) kUTTypeImage,
nil];
imagePicker.allowsEditing = NO;
[self presentModalViewController:imagePicker animated:YES];
[imagePicker release];
newMedia = NO;
}
}
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = [info
objectForKey:UIImagePickerControllerMediaType];
[self dismissModalViewControllerAnimated:YES];
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
UIImage *image = [info
objectForKey:UIImagePickerControllerOriginalImage];
NSLog(@"image:%@",image);
displayPhoto.image = image;
[displayPhoto setFrame:CGRectMake(0, 0, 320, 480)];
[[self view] addSubview:displayPhoto];
}
else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie])
{
// Code here to support video if enabled
}
}
Solución
Suponiendo que ha llamado a esto desde un controlador de visualización con un botón que haya creado, ¿por qué no solo agregue un UIIMAGEView en su controlador de vista?Llámelo MyPhotoImageView o algo así y luego en el método DidfinishPickingMediaWithInfo, simplemente agregue la siguiente línea de código después de
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
como
myPhotoImageView.image = image;
Para dar la vista de imagen para que el aspecto se vea bien, haga esto.
CGSize size = image.size;
CGRect photoFrame;
if (size.width > size.height)
{
// Landscape
CGFloat scaleFactor = 320 / size.width;
photoFrame = CGRectMake(0, 0, 320, size.height*scaleFactor);
}
else
{
// Portrait
CGFloat scaleFactor = 320 / size.height;
photoFrame = CGRectMake(0, 0, size.width*scaleFactor, 320);
}
myPhotoImageView.frame = photoFrame;