7
votes

Comment sélectionner une image à partir d'une photothèque et afficher l'interface de la caméra système dans l'application?

Comment puis-je laisser un utilisateur choisir une photo de la bibliothèque de photos Apple? Comment montrer l'interface utilisateur de la caméra système pour permettre à l'utilisateur de prendre une photo?


0 commentaires

7 Réponses :



0
votes
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
this code will trigger device camera..

3 commentaires

- (Ibaction) Grabimage: (ID) Sender {UiImagePickerController * Picker = [[UIIMagePickerController Alloc] init]; picker.delegate = moi; Picker.AllovedIt = Oui; picker.sourcetype = uiimagepickercontrolsourcetypecamera; [Auto-présageModalviewController: Picker animé: Oui]; [version de cueillette]; }


Une autre question..Comment pouvons-nous télécharger des images / audio / vidéo sur serveur dans iPhone .. Pouvez-vous donner des liens utiles ...?


@kuldeep les convertit en nsdata, puis téléchargez sur le serveur



10
votes

EDIT: 15 mars 2016 - Voici une version Swift de ma réponse antérieure, si vous recherchez la version de l'objectif-C, vous le trouverez ci-dessous.

- Swift - P>

Premier se conformer au protocole UIImagePickerControllerDelegate et le protocole UINAVIGATIONCONTROLLERDelegate P>

+(NSString *)documentsPath:(NSString *)fileName {
     NSArray *paths =   NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
     NSString *documentsDirectory = [paths objectAtIndex:0];
     return [documentsDirectory stringByAppendingPathComponent:fileName];
 }


+(NSString *)getPresentDateTime{

    NSDateFormatter *dateTimeFormat = [[NSDateFormatter alloc] init];
    [dateTimeFormat setDateFormat:@"dd-MM-yyyy HH:mm:ss"];

    NSDate *now = [[NSDate alloc] init];

    NSString *theDateTime = [dateTimeFormat stringFromDate:now];

    dateTimeFormat = nil;
    now = nil;

    return theDateTime;
}


0 commentaires

0
votes

// pour OUVERT GALERIE GALERIE STRAND>

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.modalPresentationStyle = UIModalPresentationFullScreen;
    imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePickerController.delegate = self;
    if([[[UIDevice currentDevice] systemVersion] floatValue]>=8.0)
    {
        [[NSOperationQueue mainQueue] addOperationWithBlock:^{

            [self presentViewController:imagePickerController animated:YES completion:nil];
        }];
    }
    else{
        [self presentViewController:imagePickerController animated:YES completion:nil];
    }
}


0 commentaires

1
votes

Voici une version mise à jour de la réponse de digitalhound qui fonctionne pour SWIFT 3.

Fonction de caméra de lancement d'action: p> xxx pré>

Les fonctions déléguées: p>

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        // create a filepath with the current date/time as the image name
        let savePath:URL = URL(fileURLWithPath: self.documentsPath()! + "/" + self.presentDateTimeString() + ".png")
        // try to get our edited image if there is one, as well as the original image
        let editedImg:UIImage?   = info[UIImagePickerControllerEditedImage] as? UIImage
        let originalImg:UIImage? = info[UIImagePickerControllerOriginalImage] as? UIImage

        // create our image data with the edited img if we have one, else use the original image
        let imgData:Data = editedImg == nil ? UIImagePNGRepresentation(editedImg!)! : UIImagePNGRepresentation(originalImg!)! as Data

        // write the image data to file
        try! imgData.write(to: savePath, options: [])

        // dismiss the picker
        self.dismiss(animated: true, completion: nil)
    }

    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        // picker cancelled, dismiss picker view controller
        self.dismiss(animated: true, completion: nil)
    }


    // added these methods simply for convenience/completeness
    func documentsPath() ->String?
    {
        // fetch our paths
        let paths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)

        if paths.count > 0
        {
            // return our docs directory path if we have one
            let docsDir = paths[0]
            return docsDir
        }
        return nil
    }

    func presentDateTimeString() ->String
    {
        // setup date formatter
        let dateFormatter:DateFormatter = DateFormatter()
        dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss"

        // get current date
        let now:Date = Date()

        // generate date string from now
        let theDateTime = dateFormatter.string(from: now)
        return theDateTime
    }


0 commentaires

1
votes

Étape 1: Confirmer à UiImagePickerControllerDelegate , UinavigationControllerdelegate

Étape 2: (iOS 10+) Ajoutez ceci comme clé de votre fichier info.plist Clé: Confidentialité - Description de l'utilisation de la caméra
Valeur: #votre message

Étape 3: et cela dans votre @ibaction xxx


0 commentaires

1
votes

Solution rapide!

J'ai créé ce bibliothèque pour ceux dont vous avez besoin pour intégrer cette fonctionnalité immédiatement. Vous pouvez également appliquer des filtres à votre image avec une seule ligne de code que vous devez écrire est: - xxx

 Entrez la description de l'image ici < / p>


0 commentaires