iPhone - 扩展UIWebViewDelegae协议

时间:2011-01-19 14:32:21

标签: iphone uiwebview protocols

我使用以下代码扩展了Web视图委托。

@protocol CustomWebViewDelegate <UIWebViewDelegate>
@optional
-(void)touchesEnded;
@end

在我的课程中,我实现了Web视图代理:

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
- (void)webViewDidFinishLoad:(CustomWebView *)webView
- (BOOL)webView:(CustomWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:

我的界面声明如下:

@interface BrowserView : UIViewController <UITextFieldDelegate, UIWebViewDelegate, UIScrollViewDelegate, CustomWebViewDelegate>

问题是它没有调用Web视图的代理。为什么? 我的代码在哪里错了?

1 个答案:

答案 0 :(得分:0)

您需要将BrowserView对象实际设置为UIWebView的委托才能获得回调。你不能只声明自己符合协议并希望获得回调。 E.g:

BrowserView.m:

- (void)viewDidLoad {
    ...
    UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
    webView.delegate = self;
    [self.view addSubview:webView];
    ...
}