我使用以下代码扩展了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视图的代理。为什么? 我的代码在哪里错了?
答案 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];
...
}