2009-06-03 9 views
0

J'appelle une fonction javascript et en attendant le résultat de retour je veux charger une image d'animation (comme: veuillez attendre ...).pendant le traitement charger l'image

//step1. call javascript 
NSString *resultMess = [webView stringByEvaluatingJavaScriptFromString:_scriptMethod]; 

//step2. want to load animation while waiting 

//step3. after finish -> send alert 

. Comment puis-je faire stept2 et step3?

Merci beaucoup.

Répondre

0

Vous pouvez démarrer un nouveau sujet. Ajouter ce avant de commencer votre fonction javascript

[NSThread detachNewThreadSelector:@selector(loadAnimation) toTarget:self withObject:nil]; 

ajouter ensuite ce que l'animation que vous voulez ...

- (void)loadAnimation { 

//Animation stuff here 
} 

Vous pouvez essayer et exécuter « étape 3 » immédiatement après vos trucs javascript. Donc, dans tout ce que vous auriez

- (void)someMethod { 
    //start your animation 
    [NSThread detachNewThreadSelector:@selector(loadAnimation) toTarget:self withObject:nil]; 
    //run javascript 
    NSString *resultMess = [webView stringByEvaluatingJavaScriptFromString:_scriptMethod]; 


    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"message" cancelButtonTitle:@"Okay" otherButtonTitles:nil]; 
[alert show] 

    } 

Si le javascript est l'origine de votre application pour bloquer l'alerte ne doit pas apparaître qu'après avoir terminé.

+0

Merci. Ça a bien marché. Je demande plus: Je veux alerter le résultat de retour de la méthode javascript. Mais la vitesse de javascript étant plus lente que la vitesse de la fonction iphone, le retour sera vide (cela signifie que step3 le fera tout au long de l'étape 1). Avez-vous une solution pour exécuter l'étape 3 après la fin de l'étape 1? –

+0

Il suffit de modifier ma réponse d'origine. Je pense que cela résout votre problème. –

Questions connexes