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? P>
7 Réponses :
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
@kuldeep check this Stackoverflow.com/Questions/936855/...
picker.sourceType = UIImagePickerControllerSourceTypeCamera; this code will trigger device camera..
- (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
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; }
// pour OUVERT 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];
}
}
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> 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
}
É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 p>
Étape 3:
et cela dans votre @ibaction p>
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: - p>