2010-12-03 11 views

Antwort

20

In der Schnittstellendatei angeben, dass Sie interessiert sind:

@interface SomethingController : UIViewController <UIWebViewDelegate> { 


Dann in Ihrer Implementierung Sie, dass delegierte Methode hinzufügen werden:

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

    // Do whatever you want here 

} 

Offensichtlich SomethingController sollte Ihr sein tatsächlichen Controller und UIViewController ist was auch immer Sie gerade implementieren.

Dies ist übrigens im Grunde, wie Sie jeden Delegierten implementieren.

bearbeiten

In einem Fenster-basierte Anwendung ist Ihre UIWebView Annahme in AppDelegate, Sie fügen Sie ihn einfach in die Liste der Delegierten, durch Komma getrennt, wie folgt aus:

@interface YourAppDelegate : NSObject <UIApplicationDelegate, UIWebViewDelegate> 

Sie fügen Ihre webViewDidFinishLoad in die Implementierung des Anwendungsdelegaten ein.

Edit 2

Schließlich können benötigen Sie eine UIWebView zu Ihrem Controller zu verbinden. Es ist üblich, diese in der viewDidLoad Methode eines UIViewController zu tun, mit einer Zeile wie folgt aus:

self.yourWebView.delegate = self; 

Dies teilt dem UIWebView, wo sie Nachrichten senden soll.

+0

Was ist, wenn ich keinen Controller habe, weil ich die Windows-Anwendungsvorlage verwende.die mir nur zwei Dateien geben .. .h und .m. Entschuldigung, ich bin sehr neu dazu..Thanks :) – Dayzza

+0

Wo immer Ihre Web-Ansicht ist, das ist, wo Sie für den Delegierten zu hören. Ich bearbeite meine Antwort, wo die Formatierung besser ist. –

+0

hmmm ok danke mein freund, ich habe mich entschieden stattdessen die view-based app zu benutzen ... kann ich dir noch eine frage stellen? Eigentlich mein Zweck ist, ich möchte die Delegate-Methode WebViewDidFinishLoad zu laden, um eine Webseite fertig zu machen, bevor Sie einige andere Codes ausführen. Also, wo sollte ich meinen Webcode laden? in loadView? – Dayzza

6

Folgen Sie dem Screenshot unten

enter image description here

nach

@interface inYourViewController : UIViewController<UIWebViewDelegate> 

jetzt inYourViewController.h Verbinden Sie bereit sind, die Delegatmethoden in inYourViewController.m Datei zu implementieren.

oder

können Sie die gleiche Sache von Code tun.

Nach dem webView mit View-Controller über IBOutlet Anschluss In inYourViewController.m der Datei viewDidLoad Methode schreiben

self.yourWebView.delegate=self 

In inYourViewController.h

@interface inYourViewController : UIViewController<UIWebViewDelegate> 

Jetzt sind Sie bereit, die delegierte Methode von webView.Thanks

zu implementieren
Verwandte Themen