Question

J'ai une fonctionnalité configurée.Mais je suis perdu sur où aller d'ici.Je peux probablement comprendre quoi faire avec Facebook une fois que je sais comment utiliser les images.J'ai essayé d'enregistrer l'image dans Nsdictionary puis de rediriger vers un contrôleur d'affichage différent, mais cela ne me laissera pas rediriger à partir de la méthode ImagePickerController.Donc, quiconque a une idée de l'utilisation de l'image sélectionnée à partir du rouleau de l'appareil photo?

Ma prochaine idée était de l'enregistrer dans le NSDictionary, puis il suffit d'avoir une déclaration vérifiée pour voir si la valeur Nsdictionnaire a changé, mais ce n'est pas un moyen efficace de le faire du tout.

édité ci-dessous pour inclure la réponse fournie, mais rien ne se passe, aucune image affiche ou quoi que ce soit.Qu'est-ce que je manque?

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

Était-ce utile?

La solution

En supposant que vous avez appelé cela à partir d'un contrôleur d'affichage avec un bouton que vous avez créé, pourquoi ne pas simplement ajouter un UIImageView sur votre contrôleur d'affichage?Appelez-le myPhotoiimageView ou quelque chose comme ça, puis dans la méthode DidfinishpickingMediAwithInfo, ajoutez simplement la ligne de code suivante après

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

comme

myPhotoImageView.image = image;

Pour former la vue de l'image afin que l'aspect ait l'air bien.

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;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top