2011-01-19 179 views
0

我正在使用以下代碼來擴展Web視圖委託。iPhone - 擴展UIWebViewDelegae協議

@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的代表視圖。爲什麼? 我的代碼錯在哪裏?

回答

0

您需要將BrowserView對象實際設置爲UIWebView的代表才能獲得回調。你不能只聲明自己符合協議,並期望獲得回調。例如: -

BrowserView.m:

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

是的,我設置web視圖的委託爲好。 – Satyam 2012-01-17 07:15:27