iPhone - расширение протокола UIWebViewDelegae - PullRequest
0 голосов
/ 19 января 2011

Я использую следующий код для расширения делегата веб-представления.

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

В моем классе я реализую делегаты веб-представления:

- (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>

Проблема в том, что он не вызывает делегатов веб-представления.Зачем?Где мой код неверен?

1 Ответ

0 голосов
/ 17 января 2012

Вы должны фактически установить свой объект BrowserView в качестве делегата UIWebView для получения обратных вызовов.Вы не можете просто объявить себя соответствующим протоколу и ожидать получения обратных вызовов.Например:

BrowserView.m:

- (void)viewDidLoad {
    ...
    UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
    webView.delegate = self;
    [self.view addSubview:webView];
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...