要做的很简单,先把要加载的东西 添加进工程,然后实现本地加载即可
NSString * htmlPath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString * htmlCont = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil];
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[_webView loadHTMLString:htmlCont baseURL:baseURL];
解释一下:
htmlPath:是获取到mainBundle下的index.html文件,就是我们导入进去的那个。
我们导入进去的本地html文件会有图片 js 还有css文件,这些文件放到xcode里面 ,添加到工程中,最后都会放到xxx.app的根目录里面, 可以右键 ---显示包内容就可以看到,所以第一次执行这些代码,或许你看到的并不是你想要的那种结果,那么为什么会出现这种结果呢?
其实是一般网页会有文件夹,写网页的时候 用的都是绝对路径,比如../app/index.html,../img/222/939939139393.png
而我们xcode中的目录结构会是index.html, 939939139393.png,就是路径不对了
所以显示的会有问题,直接改掉路径就行,或者写本地网页的时候 就一锅粥的放到一个目录下。。。
我目前就是这么解决的,如果大家有好的方法,也可以分享下。
网友评论