XCode - UIWebView未加载

时间:2012-07-11 01:04:03

标签: xcode uiwebview

我在Resources文件夹中有两个本地.html文件。我试图按以下方式加载它们,但只加载最后一页。我做错了什么?

File = please_wait.html

这个不起作用。

NSError *error;
NSString* path = [[NSBundle mainBundle] pathForResource:@"please_wait" ofType:@"html"];
NSString* htmlString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
[webView loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:path]];   

 //Big "do-while" loop here.  It works fine so I omitted it.

File = update_graph.html

这个不起作用

 path = [[NSBundle mainBundle] pathForResource:@"update_graph" ofType:@"html"];
 htmlString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
 [webView loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:path]];

//Lots of code removed.  All works correctly and doesn't touch webview

这最后一个完美无缺。谷歌显示。

string = @"http://google.com";  
NSURL *url = [NSURL URLWithString: string];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];

1 个答案:

答案 0 :(得分:3)

从您的评论中可以看出,您的UIWebView加载得很好,但在您退出方法之前,它无法在屏幕上自行刷新。仅在方法内部设置断点并等待视图加载是不够的:在iOS意识到需要调用UIWebView的{​​{1}}方法之前,必须退出该方法。

要解决此问题,请将您的方法分为三个部分drawRect AB,并在C中设置UIWebView的委托以调用{ {1}}上的{1}}以及A中的代表致电B

以下是如何实现这一点:从一个可以在加载完成时调用选择器的委托开始:

webViewDidFinishLoad:

现在将您的方法分为三个部分 - 加载第一页,加载第二页,然后加载第三页:

B