2010-12-03 37 views

Répondre

20

Dans le fichier d'interface indique que vous êtes intéressé:

@interface SomethingController : UIViewController <UIWebViewDelegate> { 


Ensuite, dans votre implémentation vous procurerez cette méthode déléguée:

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

    // Do whatever you want here 

} 

Il est évident que SomethingController devrait être votre contrôleur réel, et UIViewController est ce que vous mettez en œuvre réellement.

Cela, en passant, est fondamentalement comment vous implémentez un délégué.

Modifier

Dans une application à base de fenêtres, en supposant que votre UIWebView est dans votre application délégué, vous venez de l'ajouter à la liste des délégués, séparés par des virgules, comme ceci:

@interface YourAppDelegate : NSObject <UIApplicationDelegate, UIWebViewDelegate> 

Vous allez inclure votre webViewDidFinishLoad dans l'implémentation du délégué de l'application.

Edit 2

Enfin, vous devrez connecter votre UIWebView à votre contrôleur. Il est courant de le faire dans la méthode viewDidLoad d'un UIViewController, avec une ligne comme celle-ci:

self.yourWebView.delegate = self; 

Cela indique au UIWebView où il doit envoyer des messages.

+0

Que faire si je n'ai pas de contrôleur parce que j'utilise le modèle d'application Windows.qui ne me donne que deux fichiers ..h et .m. Désolé, je suis très nouveau à ce..Merci :) – Dayzza

+0

Où que votre vue web est, c'est là que vous écouterez le délégué. Je vais modifier ma réponse lorsque le formatage est meilleur. –

+0

hmmm ok merci mec, j'ai décidé d'utiliser app basée sur la vue à la place ... puis-je vous poser une autre question? En fait, mon but est que je veuille utiliser la méthode déléguée webViewDidFinishLoad pour charger finir une page Web avant d'exécuter d'autres codes. Alors, où devrais-je mettre mon chargement de codes de page Web? à l'intérieur de loadView? – Dayzza

6

Suivez la capture d'écran ci-dessous

enter image description here

après la connexion inYourViewController.h

@interface inYourViewController : UIViewController<UIWebViewDelegate> 

vous êtes maintenant prêt à mettre en œuvre les méthodes de délégués dans le fichier inYourViewController.m. vous pouvez faire la même chose à partir du code

ou

.

Après avoir connecté le webView avec contrôleur de vue via IBOutlet, Dans inYourViewController.mviewDidLoad Méthode de fichier écrire

self.yourWebView.delegate=self 

Dans inYourViewController.h

@interface inYourViewController : UIViewController<UIWebViewDelegate> 

Maintenant, vous êtes prêt à mettre en œuvre la méthode de délégué de webView.Thanks