Я не могу заставить работать UIWebViewDelegate - PullRequest
1 голос
/ 03 августа 2010

Я пытаюсь реализовать UIWebViewDelegate в своем приложении, и я не могу заставить его работать. Я был бы очень признателен за второй взгляд на это.

Я знаю, что имя MapViewController сбивает с толку, но WebView контролирует карту (не UIMapView).

Вот основная часть кода:

MapViewController.h

#import <UIKit/UIKit.h>
#import <UIKit/UIWebView.h>

@interface MapViewController : UIViewController<UIWebViewDelegate> {
    IBOutlet UIWebView *webView;
}

@property (nonatomic, retain) IBOutlet UIWebView *webView;

@end

MapViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];
    webView.delegate = self;
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"map" ofType:@"html"]isDirectory:NO]];
    [webView loadRequest:request];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView{
    NSLog(@"Done loading.");
}
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
    NSLog(@"hi");
    return NO;
}
- (void)dealloc {
    webView.delegate = nil;
    [webView release]
    [super dealloc];
}

Спасибо за любую помощь!

Ответы [ 4 ]

4 голосов
/ 03 августа 2010

Действительно ли отображается начальная страница, которую вы загружаете?Вы уверены, что подключили свое веб-представление в Интерфейсном Разработчике?

2 голосов
/ 12 мая 2011

перейти к построителю интерфейса, подключить делегата к владельцу файла, затем он должен работать.

  1. Открыть построитель интерфейса
  2. Щелкните правой кнопкой мыши объект Web View
  3. Перетащите делегата на владельца файла.
0 голосов
/ 18 июля 2011
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
    NSLog(@"hi");
    return YES; // for all supported oreintation.
}
0 голосов
/ 03 августа 2010

Вещи для проверки:

  1. если map.html находится в комплекте. Поместите его в корень пакета, а не в ресурсы.
  2. если это так, щелкните правой кнопкой мыши и выберите «получить информацию». Проверьте на TARGETS, если цель проверена для файла.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...