Comment utiliser correctement le webkit délégué pour démarrer et arrêter un spinner, OS X, OBJ-C

StackOverflow https://stackoverflow.com//questions/12679890

  •  12-12-2019
  •  | 
  •  

Question

Il semble que ce devrait être si simple, mais je suis assez nouveau à l'Objective-C.Ce que je veux faire est tout simplement de démarrer et d'arrêter un spinner pendant que mon WebView est en cours de chargement.C'est une app OS X.Tout ce que j'ai recherché est de Cocoa Touch, je suis juste en utilisant le Cacao.Dans mon AppDelegate.m-je les méthodes de démarrage et d'arrêt de la toupie (Cela fonctionne, je l'ai testé).

-(IBAction)goSpin:(id)sender
{
    [spinner startAnimation:self];
}

-(IBAction)stopSpin:(id)sender
{
    [spinner stopAnimation:self];
}

J'ai aussi les deux délégué méthodes pour webView, qui j'ai également changé.

-(void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame
{
    [self goSpin:self];
}

-(void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
{
    [self stopSpin:self];
}

En gros, je voudrais savoir comment je reçois mon webView à l'ensemble de délégué.D'habitude je dois faire quelque chose dans le .h fichier, mais je ne trouve pas de références que la liste de ce que le webKit délégué qui travaillent pour cela.Toute aide serait appréciée.

Était-ce utile?

La solution

L'

-(void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame

et

-(void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame

méthodes font partie de la WebFrameLoadDelegate Protocole.

WebView a un frameLoadDelegate de la propriété.Déposez-la sur votre WebView exemple en appelant [webView setFrameLoadDelegate:delegate], où delegate est un NSObject qui implémente les deux méthodes (il sera plus facile pour vous de faire self le frameLoadDelegate ici).Depuis WebFrameLoadDelegate est un protocole informel, delegate déclarer les deux méthodes dans sa .h fichier, plutôt que d'en ajouter <WebFrameLoadDelegate> à sa déclaration de classe, comme avec un protocole officiel.

Autres conseils

Vous pouvez remplacer ces méthodes de déléguement WebView pour démarrer et arrêter une fileuse.

- (void)webViewDidStartLoad:(UIWebView *)webView{

// In this method you have to start a spinner.

}
- (void)webViewDidFinishLoad:(UIWebView *)webView{

   // In this method you have to stop the current  spinner.


}
 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{

      // In this method you have to stop the current  spinner.


 }

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top