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

¿Fue útil?

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;

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top