为UIWebView设置委托

Day*_*zza 13 objective-c uiwebview ios uiwebviewdelegate

如何设置为我的委托UIWebView来使用webViewDidFinishLoad

Mat*_*ick 23

在接口文件中表明您感兴趣:

@interface SomethingController : UIViewController <UIWebViewDelegate> {
Run Code Online (Sandbox Code Playgroud)


然后在您的实现中,您将添加该委托方法:

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

    // Do whatever you want here

}
Run Code Online (Sandbox Code Playgroud)

显然SomethingController应该是你的实际控制器,而UIViewController就是你实际实现的任何东西.

顺便说一句,这基本上就是你如何实现任何委托.

编辑

在基于窗口的应用程序中,假设您的UIWebView在您的应用程序委托中,您只需将其添加到委托列表中,用逗号分隔,如下所示:

@interface YourAppDelegate : NSObject <UIApplicationDelegate, UIWebViewDelegate>
Run Code Online (Sandbox Code Playgroud)

您将在app delegate的实现中包含webViewDidFinishLoad.

编辑2

最后,您需要将UIWebView连接到控制器.在viewDidLoadUIViewController 的方法中执行此操作很常见 ,其行如下所示:

self.yourWebView.delegate = self;
Run Code Online (Sandbox Code Playgroud)

这告诉UIWebView应该在哪里发送消息.


Tun*_*her 6

按照下面的屏幕截图

在此输入图像描述

连接后 inYourViewController.h

@interface inYourViewController : UIViewController<UIWebViewDelegate>
Run Code Online (Sandbox Code Playgroud)

现在您已准备好在inYourViewController.m文件中实现委托方法.

要么

你可以从代码中做同样的事情.

将webView与视图控制器连接后IBOutlet,在inYourViewController.m文件的viewDidLoad方法中写入

self.yourWebView.delegate=self
Run Code Online (Sandbox Code Playgroud)

inYourViewController.h

@interface inYourViewController : UIViewController<UIWebViewDelegate>
Run Code Online (Sandbox Code Playgroud)

现在您已准备好实现webView.Thanks的委托方法