Pergunta

Eu tenho algumas funcionalidades configuradas.Mas estou perdido sobre para onde ir a partir daqui.Provavelmente poderei descobrir o que fazer com o Facebook quando souber como realmente usar as imagens.Tentei salvar a imagem no NSDictionary e depois redirecioná-la para um View Controller diferente, mas isso não me permite redirecionar de dentro do método imagePickerController.Alguém tem alguma ideia de como usar a imagem selecionada no rolo da câmera?

Minha próxima ideia foi salvá-lo no NSDictionary e então apenas ter uma instrução verificando se o valor do NSdictionary mudou, mas essa não é uma maneira eficiente de fazer isso.

EDITADO abaixo para incluir a resposta fornecida, mas nada acontece, nenhuma imagem é exibida nem nada.o que estou perdendo?

- (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
}
}
Foi útil?

Solução

Supondo que você tenha chamado isso de um controlador de visualização com um botão que você criou, por que não apenas adicionar um UIImageView ao seu controlador de visualização?Chame-o de myPhotoImageView ou algo parecido e, no método didFinishPickingMediaWithInfo, basta adicionar a seguinte linha de código após

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

como

myPhotoImageView.image = image;

Para dimensionar a visualização da imagem para que o aspecto fique bonito, faça isso.

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top