我在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];
答案 0 :(得分:3)
从您的评论中可以看出,您的UIWebView
加载得很好,但在您退出方法之前,它无法在屏幕上自行刷新。仅在方法内部设置断点并等待视图加载是不够的:在iOS意识到需要调用UIWebView
的{{1}}方法之前,必须退出该方法。
要解决此问题,请将您的方法分为三个部分drawRect
A
和B
,并在C
中设置UIWebView
的委托以调用{ {1}}上的{1}}以及A
中的代表致电B
。
以下是如何实现这一点:从一个可以在加载完成时调用选择器的委托开始:
webViewDidFinishLoad:
现在将您的方法分为三个部分 - 加载第一页,加载第二页,然后加载第三页:
B