Question

J'ai trouvé de nombreuses informations sur l'utilisation de UIImagePickerController pour permettre à l'utilisateur de choisir l'image qu'il souhaite parmi les données de l'application Photos. Je me demande comment je peux créer le même effet sur la version 3.0, car il ne semble plus que beaucoup de l'ancien code fonctionne plus. De plus, j'aimerais que l'utilisateur puisse prendre une nouvelle photo à partir de cette même fenêtre contextuelle.

Merci pour toute aide!

Était-ce utile?

La solution

Fonctionne en 3.0, comme avant. Je ne crois pas qu'il y ait eu de changement. Je viens d'allouer / init un UIImagePickerController et de le transmettre à presentModalViewController, comme ceci:

- (void) chooseImageFromLibrary {
    if( ![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary] ) return;

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    imagePickerController.allowsImageEditing = YES;
    [self presentModalViewController:imagePickerController animated:YES];
}

- (void) chooseImageFromCamera {
    if( ![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] ) return;

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePickerController.allowsImageEditing = YES;
    [self presentModalViewController:imagePickerController animated:YES];
}

Implémentez également les méthodes de délégation:

- (void)imagePickerController:(UIImagePickerController *)picker 
        didFinishPickingImage:(UIImage *)image 
                  editingInfo:(NSDictionary *)editingInfo {
    // Do something with the image here.

    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top