Comment puis-je définir un délégué pour mon UIWebView
pour utiliser webViewDidFinishLoad
?définir un délégué pour UIWebView
Répondre
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.
Suivez la capture d'écran ci-dessous
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.m
viewDidLoad
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
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
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. –
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