【发布时间】:2011-08-27 05:24:41
【问题描述】:
我正在使用 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];
标签: iphone cocoa-touch ios uiwebview