PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Problème avec AlbumSelecteur() sous IOS
Problème avec AlbumSelecteur() sous IOS
Débuté par Matthieu Jobert, 20 avr. 2012 12:08 - 10 réponses
Posté le 20 avril 2012 - 12:08
Bonjour,

Suis-je seul à avoir des problèmes pour choisir une photo avec AlbumSelecteur() ?
Dès que je dois scroller (dans les dossiers ou les photos), la selection est impossible (testé avec iPhone 4S et iPad 1).

Merci pour vos retours.
Matthieu J.
Posté le 06 mai 2012 - 10:34
Bonjour,

J'ai aussi ce problème, beaucoup de lenteur voir le blocage complet lors du scroll de photos

Ob
Posté le 11 mai 2012 - 19:57
Je suis étonné qu'il n'y ait pas plus de "protestation" à propos de cette fontion qui permet pas de selectionner une photo dès que l'on scrolle dans les dossiers ou les images, ce qui la rend inutilisable.

Le support technique a reconnu le problème, mais il faut attendre la prochaine version.

J'ai essayé de la reprogrammer en ObjC (UIImagePickerController), sans succès pour l'instant. Un connaisseur de l'ObjC aurait-il la solution ?
Posté le 14 mai 2012 - 14:01
Pour appeler le picker (album photo)
IF (imagePickerController == nil) {
imagePickerController = [[UIImagePickerController alloc] init];
[imagePickerController setDelegate:self];
[imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePickerController setAllowsEditing:Yes];
}

[self presentModalViewController:imagePickerController animated:Yes];


Récupérer et sauvegarder l'image dans un fichier png
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)Info
{
// Dismiss the picker
[[picker parentViewController] dismissModalViewControllerAnimated:Yes];

// Get the image from the result
UIImage* Image = [Info valueForKey:@"UIImagePickerControllerOriginalImage"];

// Get the data for the image as a PNG
NSData* imageData = UIImagePNGRepresentation(Image);

// Give a name to the file
NSString* imageName = "MyImage.png";

// Now, we have to find the documents directory so we can save it
// Note that you might want to save it elsewhere, like the cache directory,
// or something similar.
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, Yes);
NSString* documentsDirectory = [paths objectAtIndex:0];

// Now we get the full path to the file
NSString* fullPathToFile = [documentsDirectory stringByAppendingPathComponent:imageName];

// and then we write it out
[imageData writeToFile:fullPathToFile atomically:No];

RETURN;
}



A tester car je n'ai pas Windev mobile sous la main.
Peut etre qu'il faut aussi ajouter le framework
Posté le 14 mai 2012 - 17:41
Merci Florian pour ta réponse.
C'est ce genre de code que j'essaie d'implémenter, mais "self" représente l'instance de classe en cours et on est dans une procédure globale.
Si tu (ou un autre) pouvais le tester et publier le code qui fonctionne, ce serait génial.

Matthieu J.
Posté le 14 mai 2012 - 18:32
Peut être en utilisant ce code :
http://doc.pcsoft.fr/fr-FR/?1000019887&name=saisir-code-objective

Code procdure
void OuvrirMedia(void* currentView)
{
UIView *tmpView = (UIView*)currentView;
[imagePickerController setDelegate:tmpView];
}


Code Windev
OuvrirMedia(Handle(MaFenêtre,HandleUIViewController))


C'est une piste, donc je ne sais toujours pas si cela marche désolé :(
Posté le 15 mai 2012 - 13:04
Bonjour,

Je progresse...
J'arrive à pouvoir naviguer parmis les photos et en selectionner une.
Le seul problème est de savoir laquelle a été choisie, donc l'implémentation du delegate.
J'ai essayé de créer une classe delegate, sans succès pour l'instant.

Voici le code qui permet de lancer la selection d'une photo :

void IOS_Gallery(void* pCurrentView)
{
UIViewController *currentView = (UIViewController*)pCurrentView;

UIImagePickerController* imagePickerController=[[UIImagePickerController alloc] init];
// [imagePickerController setDelegate:xxx];
[imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[imagePickerController setAllowsEditing:No];
[currentView presentModalViewController:imagePickerController animated:Yes];
}


J'ai encore besoin de votre aide pour finaliser ce code.
Matthieu
Posté le 23 mai 2012 - 09:43
Bonjour,

Je suis également intéressée par une résolution de ce problème.
Personne n'a d'idée pour faire avancer les choses ?

Yasmine
Posté le 23 mai 2012 - 13:23
une piste est de refaire le picker (selecteur) avec du objectiv c et de renvoyer le chemin de l'image en reference (il faut utiliser la blibliothèque ALAssetsLibrary)

http://stackoverflow.com/questions/8484758/how-to-call-uiimagepickercontroller-delegate-programmatically-or-forcefully-wit

je vois que cette solution car on ne peut pas utiliser les delegates.


void IOS_Gallery(void* pCurrentView)
{
UIViewController *currentView = (UIViewController*)pCurrentView;

UIImagePickerController* imagePickerController=[[UIImagePickerController alloc] init];


[imagePickerController setPathimg:path];


[imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[imagePickerController setAllowsEditing:No];
[currentView presentModalViewController:imagePickerController animated:Yes];

WHILE (path != "")
{
}

Image = path; // a faire

}
Posté le 20 juin 2012 - 08:43
Bonjour,

Aver la version 78h, çà va un petit peu mieux, on arrive faire défiler les péllicules (Très lent) et parfois on arrive à récupérer une des dernière photos.

Pas terrible...

Jean-Pierre
Posté le 04 septembre 2012 - 13:04
Quelqu'un a-t-il réussi à résoudre ce problème de cette fonction ?