使用uiwebview中的本地html从相对路径加载资源我有一个非常简单的iOS应用程序,带有uiwebview加载一个非常简单的测试页面(test.html):<html><body><img src="img/myimage.png" /></body></html>我将此test.html文件加载到我的Web视图中:NSURL *url = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"html"];NSString *html = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];NSURL *baseUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];[webView loadHTMLString:html baseURL:baseUrl];如果我在没有相对路径的情况下引用图像并将引用的图像放在根目录下的根目录下 - >在XCode中复制捆绑资源,这可以正常工作,但我不能让它与我的html文件中显示的相对路径一起工作。必须有一种方法可以做到这一点,我有很多图像,CSS,javascript文件,我想加载到webview中,我希望不必拥有根目录中的所有内容,并且必须更改我的网站中的所有引用应用程序。
3 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
这是如何加载/使用具有相对引用的本地html。
将资源拖动到您的xcode项目中(我从我的finder窗口拖动了一个名为www的文件夹),您将获得两个选项“为任何添加的文件夹创建组”和“为任何添加的文件夹创建文件夹引用”。
选择“创建文件夹引用..”选项。
使用下面给出的代码。它应该像魅力一样工作。
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"www"]];
[webview loadRequest:[NSURLRequest requestWithURL:url]];
现在,html中的所有相关链接(如img / .gif,js / .js)都应该得到解决。
斯威夫特3
if let path = Bundle.main.path(forResource: "dados", ofType: "html", inDirectory: "root") { webView.load( URLRequest(url: URL(fileURLWithPath: path)) ) }
月关宝盒
TA贡献1772条经验 获得超5个赞
我只是这样做:
UIWebView *webView = [[[UIWebView alloc] init] autorelease]; NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"]; NSURLRequest* request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request];
其中“index.html”相对引用图像,CSS,javascript等。
- 3 回答
- 0 关注
- 627 浏览
添加回答
举报
0/150
提交
取消