Question

How do I set a delegate for my UIWebView to use webViewDidFinishLoad?

Was it helpful?

Solution

In the interface file indicate that you're interested:

@interface SomethingController : UIViewController <UIWebViewDelegate> {


Then in your implementation you'll add that delegate method:

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

    // Do whatever you want here

}

Obviously SomethingController should be your actual controller, and UIViewController is whatever you're actually implementing.

This, by the way, is basically how you implement any delegate.

Edit

In a window-based app, assuming your UIWebView is in your app delegate, you just add it to the list of delegates, separated by commas, like this:

@interface YourAppDelegate : NSObject <UIApplicationDelegate, UIWebViewDelegate>

You'll include your webViewDidFinishLoad in the app delegate's implementation.

Edit 2

Finally, you'll need to connect your UIWebView to your controller. It's common to do this in the viewDidLoad method of a UIViewController, with a line like this:

self.yourWebView.delegate = self;

This tells the UIWebView where it should send messages.

OTHER TIPS

Follow the screen shot below

enter image description here

after connecting inYourViewController.h

@interface inYourViewController : UIViewController<UIWebViewDelegate>

now you are ready to implement the delegate methods in inYourViewController.m file.

or

you can do the same thing from code.

After connecting the webView with view controller via IBOutlet,In inYourViewController.m file's viewDidLoad Method write

self.yourWebView.delegate=self

In inYourViewController.h

@interface inYourViewController : UIViewController<UIWebViewDelegate>

Now you are ready to implement the delegate method of webView.Thanks

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top