我正在使用 UIWebView 从文档目录加载某些文件。我已经设置了 UIWebView 的委托,并响应委托的 2 个方法,即 webViewDidStartLoad
和 webViewDidFinishLoad
。我收到了 webViewDidStartLoad
方法的回调,但是没有收到 webViewDidFinishLoad
方法的回调。
以下是代码:
@interface MyView: UIViewController <UIWebViewDelegate> {
UIWebView *webView;
}
@property (nonatomic, retain) UIWebView *webView;
========================= Class ===========================
-(void)viewDidLoad {
CGRect webFrame = [[UIScreen mainScreen] applicationFrame];
mWebView = [[UIWebView alloc] initWithFrame:webFrame];
mWebView.delegate = self;
mWebView.scalesPageToFit = YES;
[self.view addSubview:mWebView];
NSString *path = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", pathString]];
[mWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]] ];
}
// Delegate methods
-(void)webViewDidStartLoad:(UIWebView *)webView {
NSLog(@"start");
}
-(void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"finish");
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
NSLog(@"Error for WEBVIEW: %@", [error description]);
}
请告诉我出了什么问题。在didFailLoadWithError委托方法中没有收到任何错误提示。注意:- 我正在加载的文件非常大,例如3 MB。
谢谢。
=============编辑==================
由于我加载了非常大的文件,所以委托需要很长时间才会出现,我没有注意到,但对于小文件,一切正常。
NSString *path = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", pathString]];
简化为NSString *path = [documentsDirectory stringByAppendingPathComponent:pathString];
。 - Deepak Danduprolu