UIWebView加载html,不显示资源图片,不加载css样式
2016-09-27 17:07
381 查看
UIWebView加载本地html文件,不显示资源图片,不加载css样式
项目中需要加载本地的html,不显示本地的资源图片文件,而且样式也跟浏览器打开的不一样。初步判断是资源路径读取的问题。
鉴于iOS沙盒机制的问题,这些资源文件在编译过程中,都被保存到同一资源路径下了。所以就需要我们修改html中图片资源的读取位置。
如本地html中有如下代码,图片不显示
src="images/icbcImg2.png" />
就需要修改为:
src="icbcImg2.png" //沙盒中都在同级别目录
样式不加载
href = "css/reset.css"
href="css/style.css"
修改为:
href = "reset.css"
href="style.css"
1.拖动文件到Xcode,提示两个选择,“create groups”和“create folder references”,默认情况下为第一种,即所有加入到项目的文件都会在mainBundle根路径下,即不管加入项目的文件的目录结构如何,在APP中都可以通过mainBundlePath/filename来访问到;如果采用第二种方式,则就会保留相对路径,需要通过mainBundlePath/path/filename来访问。通过这两种方式到项目的文件夹显示具有不同的颜色。选择“create
groups”,文件夹颜色为黄色。
html里有一个路径的问题( link href= ""),在Xcode中, Xcode不能找到像url("../images/photo.png")这种路径,所以应该在Xcode中调整下html文件访问本页面图片和css样式文件的路径。
示例代码:
NSString *path = [[NSBundlemainBundle]pathForResource:@"index"ofType:@"html"];
NSString *htmlString = [NSStringstringWithContentsOfFile:pathencoding:NSUTF8StringEncodingerror:nil];
NSString *basePath = [[NSBundlemainBundle]bundlePath];
NSURL *baseURL = [NSURLfileURLWithPath:basePath];
[self.webView loadHTMLString:htmlString baseURL:baseURL];
要注意的就是,因为baseURL的:baseURL
操作以经把项目根目录统一在项目下。加载index.html中的image, css的话。就不再需要路径(直接填写图片名, css文件名)。这样的html就可以正常显示html的完整内容了。
2.选择“create folder references”。蓝色的文件夹。文件夹名字为urlName,里面包含一个名为index的html文件。
代码如下:
NSURL * url = [NSURL URLWithString:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"urlName"]];
NSURLRequest * request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
阅读原文:http://codecloud.net/12765.html
项目中需要加载本地的html,不显示本地的资源图片文件,而且样式也跟浏览器打开的不一样。初步判断是资源路径读取的问题。
鉴于iOS沙盒机制的问题,这些资源文件在编译过程中,都被保存到同一资源路径下了。所以就需要我们修改html中图片资源的读取位置。
如本地html中有如下代码,图片不显示
src="images/icbcImg2.png" />
就需要修改为:
src="icbcImg2.png" //沙盒中都在同级别目录
样式不加载
href = "css/reset.css"
href="css/style.css"
修改为:
href = "reset.css"
href="style.css"
1.拖动文件到Xcode,提示两个选择,“create groups”和“create folder references”,默认情况下为第一种,即所有加入到项目的文件都会在mainBundle根路径下,即不管加入项目的文件的目录结构如何,在APP中都可以通过mainBundlePath/filename来访问到;如果采用第二种方式,则就会保留相对路径,需要通过mainBundlePath/path/filename来访问。通过这两种方式到项目的文件夹显示具有不同的颜色。选择“create
groups”,文件夹颜色为黄色。
html里有一个路径的问题( link href= ""),在Xcode中, Xcode不能找到像url("../images/photo.png")这种路径,所以应该在Xcode中调整下html文件访问本页面图片和css样式文件的路径。
示例代码:
NSString *path = [[NSBundlemainBundle]pathForResource:@"index"ofType:@"html"];
NSString *htmlString = [NSStringstringWithContentsOfFile:pathencoding:NSUTF8StringEncodingerror:nil];
NSString *basePath = [[NSBundlemainBundle]bundlePath];
NSURL *baseURL = [NSURLfileURLWithPath:basePath];
[self.webView loadHTMLString:htmlString baseURL:baseURL];
要注意的就是,因为baseURL的:baseURL
操作以经把项目根目录统一在项目下。加载index.html中的image, css的话。就不再需要路径(直接填写图片名, css文件名)。这样的html就可以正常显示html的完整内容了。
2.选择“create folder references”。蓝色的文件夹。文件夹名字为urlName,里面包含一个名为index的html文件。
代码如下:
NSURL * url = [NSURL URLWithString:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"urlName"]];
NSURLRequest * request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
阅读原文:http://codecloud.net/12765.html
相关文章推荐
- monotouch在使用uiwebview时加载本地html文件时的图片显示
- UIWebView加载本地html控制横向滚动条消失,并且显示html中的本地图片
- IOS uiwebview中加载服务器上的html图片不显示
- UIWebview 加载本地html图片资源无法正常加载的问题
- 【iOS开发】UIWebView加载html时不显示网络图片解决办法
- UIWebView中需要用到资源(图片,js脚本,css样式等)时的加载方式
- UIWebView加载HTML,如何使网页中的图片可点击?
- (转)CDHtmlDialog 中 html 资源加载 css 样式,js 脚本,图片
- 关于webview 加载本地图片资源 显示不出来的解决办法
- ios的webView加载本地html图片路径显示及webview适配
- html img 加载错误时显示默认图片
- UIWebView加载本地HTML文件中有本地图片的索引
- 批量加载图片资源时模拟器的显示而真机不显示的小问题
- Android开发技巧——TextView加载HTML的图片及代码显示问题
- 【html】实现网页加载图片先显示模…
- 浏览器全屏显示背景图片的css样式与html结构
- 批量加载图片资源时模拟器的显示而真机不显示的小问题
- [WM C++]从资源文件中加载显示png/jpg图片
- UIWebView 显示本地html及引用资源
- 批量加载图片资源时模拟器的显示而真机不显示的小问题