如何正确使用webkit委托来启动和停止微调器OS X,OBJ-C

Jos*_*iah 4 xcode objective-c xcode4.5

看起来这应该是这么简单,但我在Objective-C上很新.我想要做的只是在加载WebView时启动和停止微调器.这是一个OS X应用程序.我搜索的所有内容都是针对Cocoa Touch,我只使用Cocoa.在我的AppDelegate.m中,我必须使用启动和停止微调器的方法(这确实有效,我测试了它).

-(IBAction)goSpin:(id)sender
{
    [spinner startAnimation:self];
}

-(IBAction)stopSpin:(id)sender
{
    [spinner stopAnimation:self];
}
Run Code Online (Sandbox Code Playgroud)

我也有webView的两个委托方法,我覆盖了它.

-(void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame
{
    [self goSpin:self];
}

-(void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
{
    [self stopSpin:self];
}
Run Code Online (Sandbox Code Playgroud)

基本上,我想知道如何让我的webView设置它的委托.通常我必须在.h文件中执行某些操作,但是我找不到任何列出webKit委托的内容的引用.任何帮助,将不胜感激.

jon*_*ill 9

-(void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame
Run Code Online (Sandbox Code Playgroud)

-(void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
Run Code Online (Sandbox Code Playgroud)

方法是WebFrameLoadDelegate协议的一部分.

WebView有一个frameLoadDelegate属性.WebView通过调用将它设置在您的实例上[webView setFrameLoadDelegate:delegate],其中delegate是一个实现这两种方法的NSObject(最简单的方法是self在这里创建frameLoadDelegate).由于WebFrameLoadDelegate是一个非正式协议,因此delegate应在其.h文件中声明这两个方法,而不是<WebFrameLoadDelegate>像使用正式协议一样添加到其类声明中.