我正在尝试在我的应用程序中实现一个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];
}
感谢您的帮助!
答案 0 :(得分:4)
您正在加载的初始页面是否实际显示?您确定在Interface Builder中连接了您的webview吗?
答案 1 :(得分:2)
转到界面构建器,将委托连接到文件的所有者,然后它应该可以工作。
答案 2 :(得分:0)
要检查的事项:
答案 3 :(得分:-1)
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"hi");
return YES; // for all supported oreintation.
}