先将文件引入到工程中(引入文件的两种方式介绍),再获取html文件路径,加载html文件。因为引入文件有两种方式,所以加载文件的方式也有两种。加载本地html文件主推第二种方式。如果想了解两种方式的区别请看引入文件的两种方式介绍。
下面请看两种加载html文件的方式
方法一:
-
文件引入方式
文件加入方式一.png 加载html
// 获取路径
NSString * path = [[NSBundle mainBundle] pathForResource:@"文件名" ofType:@"html"];
// 创建URL
NSURL * url = [NSURL fileURLWithPath:path];
// 创建NSURLRequest
NSURLRequest * request = [NSURLRequest requestWithURL:url];
// 加载
[webView loadRequest:request];
- 这种方法是加载通过Creat groups方式添加的文件。这里需要注意的是前端代码里在引入资源时,代码里所有的资源路径(引入图片、js、css、html等等)都不要,直接把前面的路径都删了,只需要文件名就可以了。否则在引入资源时Xcode会找不到,比如在页面里某个地方有图片,但你Xcode本地前端代码里引入图片用的是路径,那么图片就会找不到,在页面上就不会显示图片。
-
例如,需将路径删除,只需文件名就可以了
图片路径.png
文件路径.png
这种方式引入文件,如果有相同的文件名,在项目编译的时候是会报文件重复的错误
在这里推荐使用下面这种方法!
方法二:
-
文件引入
文件加入方式二.png 加载html(这里需要注意加载的html文件的文件路径)
NSString * path = [[NSBundle mainBundle] pathForResource:@"login" ofType:@"html" inDirectory:@"AppWeb/view"];
NSURL * url = [NSURL URLWithString:path];
NSURLRequest * request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
NSString * path = [[NSBundle mainBundle] pathForResource:@"login" ofType:@"html" inDirectory:@"AppWeb/view"];
这个方法里
login:文件名
html:文件名后缀
AppWeb/view:文件路径
122111.png
- 这种方法是加载通过Creat folder reference方式添加的文件
使用第二种方法就不用去改前端代码里的路径了。但需要注意文件的引入方式!
两种引入文件方式的区别请看Xcode引入文件的两种方式
- 如果加载的不是HTML文件而是HTML代码,那么可以使用下面这个方法
NSString * str = @"<div class=\"logo\"><img src=\"logo.png\" /> 协同管理</div>";
[webView loadHTMLString:str baseURL:nil];
str就是你的HTML代码,需要注意的是字符串里双引号的处理(在双引号前面加\)
觉得有用麻烦给❤️,您的❤️就是小编的动力